WYSIWYG editor!
Hej Eksperter.Jeg er ved at lave en wysiwyg editor i javascript.
Pt har jeg lavet følgende funtion som virker.
function addClassToSelection(className){
var sel = window.getSelection ? window.getSelection() : document.selection.createRange(); // FF : IE
if(sel.getRangeAt){ // thats for FF
var range = sel.getRangeAt(0);
var newNode = document.createElement("span");
newNode.setAttribute('class', className);
range.surroundContents(newNode);
} else { //and thats for IE7
sel.pasteHTML('<span class="' + className + '">'+sel.htmlText+'</span>');
}
}
Hvor className er makeBold eller unBold for at tilføje de klasser så min CSS kan ses.
Men den opfører sig meget underligt engang imellem,, hvilket jeg tror skyldes at min span elementer ikke bliver slettet igen.
Er der en nemmere måde at gøre dette på eller bare en måde der virker og sletter elementerne igen.
Eventuelt noget som tilføjer <b> istedet for <span> og fjerner dem hvis man fjerner bold fra teksten.
Det skal lige nævnes at jeg har lavet en div contenteditable og at det ikke er et textarea(selvom det ikke er muligt) :).
I den div er det som kan ændres og hvis noget bliver markeret inde i den skal man kunne gøre det fed.
Har overvejet Rangy men har ikke kunnet få det til at virke.
På forhånd mange tak
Michael Franz