将插入符号/光标放在微小的mce中新添加的范围内

时间:2010-10-27 09:54:23

标签: tinymce

我需要在我的应用程序中的插入位置添加span。我可以使用以下代码在插入位置添加span,但无法将插入符号放在其中,因此如果用户输入它将进入新的span。

marker = ed.selection.getBookmark();
ed.selection.moveToBookmark(marker);
tinyMCE.execCommand('mceInsertContent',false,'<span id="mytitle"></span>');
ed.selection.moveToBookmark(marker);

1 个答案:

答案 0 :(得分:1)

我花了一些时间自己放置光标。您可能需要稍微修改它以与您创建的范围一起使用,但这应该让您正确的方向:

// sets the cursor position to the defined node
// ed: editor, start: defines if the cursor is to be placed at the start or end of the node
// return node: boolean, if set returns the caretnode instead of deleting it
function setCursor(ed, node, start, return_node){

    tn = ed.getDoc().createTextNode(".");
    if (start){
    node.insertBefore(tn, node.firstChild);
    } 
    else node.appendChild(tn);

    rng = ed.selection.getRng();
    rng.selectNode(tn);
    rng.setStartBefore(tn);
    rng.setStartAfter(tn);

    ed.selection.setRng(rng);

    if (return_node) return tn;

    node.removeChild(tn);
}