2012-11-15 11 views
29

Ich habe versucht, Text in den TinyMCE Editor am fokussierten Absatzelement (<p>) genau dort, wo der Cursor ist, aber kein Glück !!Einfügen von Text in TinyMCE Editor, wo der Cursor ist

var elem = tinyMCE.activeEditor.dom.get('tinymce'); 
var child = elem.firstChild; 
while (child) { 
    if (child.focused) { 
     $(child).insertAtCaret("some text"); 
    } 
    child = child.nextSibling; 
} 

Wenn jemand irgendeine Idee hat, wie man das löst, werde ich sehr dankbar sein.

+0

Siehe http://stackoverflow.com/questions/13849115/insert-text-at-current-position-tinymcie-ie9 – zhizhideng

Antwort

68

Sie sollten den Befehl mceInsertContent verwenden. Siehe TinyMCE documentation.

tinymce.activeEditor.execCommand('mceInsertContent', false, "some text"); 
+0

Vielen Dank !!! Ich habe versucht, dies für zwei Tage ohne Glück zu tun !!! – Ruba

+1

Aber ich brauche deine Hilfe mit einer anderen Sache! Bei IE Browser wird der Text immer am Anfang eingefügt! was soll ich machen? – Ruba

+1

Ich benutze diese Codezeile für IE7 und IE8 ohne jedes Problem. Und TinyMCE funktioniert auf IE6 +. Vielleicht ist dein Problem woanders. – Magus

9

Die obige Antwort ist gut, aber es ist erwähnenswert, dass dies zum Einfügen von HTML verwendet werden kann.

Zum Beispiel:

tinymce.activeEditor.execCommand('mceInsertContent', false, " <b>bolded text</b> "); 

fügen bolded Text an der aktuellen Cursorposition ein.

Einige andere interessante Beobachtungen:

mceInsertRawHTML auch funktioniert, aber neigt dazu, am Anfang der aktuellen Zeile in meiner Version von TinyMCE den Cursor zu setzen, aber ymmv.

mceReplaceContent funktioniert auch, aber in meinem Fall funktionierte nicht gut, wenn der Cursor am Ende des aktuellen Inhalts war.

Weitere Informationen finden Sie unter the documentation.

Verwandte Themen