在光标所在的TinyMCE编辑器中插入文本

Rub*_*uba 38 javascript jquery tinymce cursor-position

我一直在尝试将文本插入到TinyMCE编辑器中的焦点段落元素(<p>),确切位于光标所在的位置,但没有运气!

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

如果有人知道如何解决这个问题,我将非常感激.

Mag*_*gus 90

您应该使用该命令mceInsertContent.请参阅TinyMCE文档.

tinymce.activeEditor.execCommand('mceInsertContent', false, "some text");
Run Code Online (Sandbox Code Playgroud)


ajl*_*ajl 9

上面的答案很好,但值得指出的是,这可以用来插入任何HTML.

例如:

tinymce.activeEditor.execCommand('mceInsertContent', false, " <b>bolded text</b> ");
Run Code Online (Sandbox Code Playgroud)

将在当前光标位置插入粗体文本.

其他一些有趣的观察:

mceInsertRawHTML也可以,但是往往会把光标放在我的tinyMCE版本的当前行的开头,但是ymmv.

mceReplaceContent也可以,但在我的情况下,当光标位于当前内容的末尾时,效果不佳.

再次,请参阅文档以获取更多信息.