在当前位置TINYMCE IE9处插入文本

iBo*_*onZ 4 tinymce internet-explorer-9

如何在当前位置将文本插入tinyMce edtitor.它在Chrome,FF,Safari中运行完美,但在IE中它总是从textarea的顶部开始.我目前正在做以下事情:

tinyMCE.execCommand('mceInsertContent',false, 'blabla this is tekst');
Run Code Online (Sandbox Code Playgroud)

我尝试了焦点,其他命令,没有任何作用:(.

iBo*_*onZ 15

谢谢你的帮助,但没有任何效果.我找到了自己的解决方案,我觉得分享这个是必要的,因为我只发现了过时的解决方案,但是没有用:(.

解决方案:

在您的TinyMCE init中添加以下代码:

    tinyMCE.init({
// General options
        elements: elementid,
        setup: function (ed) {
            ed.onKeyUp.add(function (ed, e) {
                actualCaretPositionBookmark = tinyMCE.activeEditor.selection.getBookmark();
            });
            ed.onClick.add(function (ed, e) {
                actualCaretPositionBookmark = tinyMCE.activeEditor.selection.getBookmark();
            }); 
        }
Run Code Online (Sandbox Code Playgroud)

其中"actualCaretPositionBookmark"是javascript中的全局变量,可以被所有javascript代码加入

然后,当您想通过javascript将文本添加到TinyMCE编辑器中时,请添加以下代码:

                if (tinymce.isIE) {
                tinyMCE.activeEditor.selection.moveToBookmark(actualCaretPositionBookmark);
                tinyMCE.execCommand('mceInsertContent',false, 'My new text'); 

            }else {
                tinyMCE.execCommand('insertHTML',false, 'My new text'); 
            }
Run Code Online (Sandbox Code Playgroud)