Ich habe ein Problem. Ich habe es schon eine Weile versucht, und ich bin bereit zu explodieren. Hier ist meine Anforderung:
Ich habe eine externe Symbolleiste (nicht Teil von YUI) über dem Editor, den ich zum Einfügen von HTML-Tags verwenden möchte. Der Benutzer sollte in der Lage sein, einen Link auf der Symbolleiste klicken, nach der ein paar Dinge passieren können:YUI Editor (RTE): HTML-Element einfügen und Cursor innerhalb
- Wenn es ein markierter Text ist, wird dieser Text in einen HTML-Tag
- gewickelt wird Wenn kein ausgewählter Text ist, ein leerer HTML-Tag im Editor
- Unabhängig von dem Szenario eingesetzt ist, muss Cursor innerhalb des neuen Elements platziert werden, so dass, wenn der Benutzer mehr Text eingibt, ist es in dem neuen Elemente befindet
die Funktionalität sehr ist ähnlich wie beim Drücken der Tasten "B" oder "U" im Editor-Tool bar (jetzt, wo ich diesen Editor benutze, macht es das auch gut :-)). Es bewahrt alles schön auf. Bis jetzt bin ich in der Lage, 1 oder 2 zu machen, aber nicht 3. Schritt 3 ist SEHR wichtig, weil ohne es die Benutzererfahrung stark leidet. Ich brauche deine Hilfe wirklich, um es umzusetzen. Im Folgenden finden Sie eine vereinfachte Version der Methode, die das Einfügen durchführt (einfach DIV aus Gründen der Einfachheit einfügen). this._oEditor - lokale Instanz von YUI Editor:
this._insertElement = function() {
var sSelection = this._oEditor._getSelection(); // Attempt to get selected text from the editor
if (sSelection == '') sSelection = ' '; // If nothing was selected, insert a non-breaking space
var sNewElt = '<div>' + sSelection + '</div>';
this._oEditor.execCommand('inserthtml', sNewElt);
this._oEditor.focus(); // This gives the editor focus, but places cursor in the beginning!
}
Was ist es, dass ich muss den Cursor in die richtige Position zu bringen, zu tun? Ist es überhaupt möglich? Wenn es einen besseren Weg gibt, dies zu implementieren, bin ich auch dafür. Vielen Dank!
Ich werde das versuchen, danke. –
@MK_Dev - Hast du die Chance, dies zu versuchen? Lass es mich wissen, wenn es das macht, wonach du gesucht hast. –
José, es funktionierte großartig für FF 3, Safari 4 und Opera. Werde das später für IE ausprobieren, aber ich bin mir ziemlich sicher, dass es funktionieren wird. Lustig ist, dass ich vor einiger Zeit etwas sehr ähnliches gesehen habe, aber es nicht gespeichert habe. Danke vielmals! –