Tinymce 将插入符号/光标放置在微小mce中新添加的跨距内

Tinymce 将插入符号/光标放置在微小mce中新添加的跨距内,tinymce,Tinymce,我需要在我的应用程序中添加插入符号位置的跨度。我可以用下面的代码在插入符号位置添加span,但不能将插入符号放在其中,这样,如果用户在其中键入,它将进入新的span marker = ed.selection.getBookmark(); ed.selection.moveToBookmark(marker); tinyMCE.execCommand('mceInsertContent',false,'<span id="mytitle"></span>'); ed.se

我需要在我的应用程序中添加插入符号位置的跨度。我可以用下面的代码在插入符号位置添加span,但不能将插入符号放在其中,这样,如果用户在其中键入,它将进入新的span

marker = ed.selection.getBookmark();
ed.selection.moveToBookmark(marker);
tinyMCE.execCommand('mceInsertContent',false,'<span id="mytitle"></span>');
ed.selection.moveToBookmark(marker);
marker=ed.selection.getBookmark();
ed.选择。移动图书标记(标记);
execCommand('mceInsertContent',false',);
ed.选择。移动图书标记(标记);

我自己花了一些时间放置光标。您可能需要稍微修改它,以便与您创建的跨度配合使用,但这将使您朝着正确的方向前进:

// 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);
}

我自己花了一些时间放置光标。您可能需要稍微修改它,以便与您创建的跨度配合使用,但这将使您朝着正确的方向前进:

// 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);
}