matze hat geschrieben:theoretisch müsste man demnach in der "script.js.php" nur folgende SPAW_style_change(editor, sender) umschreiben, oder?
korrekt, das ist die funktion die man ändern muss...
matze hat geschrieben:also das <p> kann man ja einfach durch <span> ersetzen.
eben nicht, das wird nicht funktionieren...
der teil mit <p> wird nur dann angewand wenn der übergeordnete tag body wäre...
matze hat geschrieben:aber wie schaff ich es nur das markierte zu "taggen"? hast du da eine idee?
ähm wie du den text bekommst siehst du in der function SPAW_isFoolTag zb mit:
Code: Alles auswählen
var trange = this[editor+'_rEdit'].document.selection.createRange();
var ttext;
if (trange != null) ttext = SPAW_trim(trange.htmlText);
das würde ja funktionieren nur produziert die funktion SPAW_trim
ne endlosschleife... diese funktionen müsste man ebenso ersetzen...
der vorteil hiebei wäre wenn nichts selektiert ist bleibt ttext leer...
matze hat geschrieben:(".innerHTML" mit ".execCommand" ersetzen?)
das geht nicht, da innerHTML den kompletten text in textarea umfasst !
matze hat geschrieben:oder ist das doch schwieriger als ich denke?
ähm ja...
da mich das selbst intressiert hat, habe ich mir ein paar gedanken dazu gemacht...
1. zuerst braucht man eine möglichkeit herauszufinden ob überhaupt text markiert ist...
2. wenn keiner markiert ist ausführung wie bisher...
2.a wenn ein style gewählt wurde dieses setzen
2.b wenn keines gewählt wurde entfernen, jedoch wenn das übergeordnete element span ist den tag mittels removeNode komplett entfernen...
3. wenn text markiert wurde diesen von spans umschließen und mit pasteHTML wieder einfügen...
beim punkt 3 gibts aber noch ne menge probleme...
was passiert wenn die markierte stelle bereits von spans umschlossen ist ?
etc. etc. etc.
das wäre ungefähr die vorgangsweise...