Поместите курсор / курсор внутри нового добавленного диапазона в крошечный mce - PullRequest
1 голос
/ 27 октября 2010

Мне нужно добавить диапазон в позиции каретки в моем приложении. Я мог бы добавить span в позиции каретки с помощью следующего кода, но не смог разместить каретку внутри него, чтобы, если пользователь вводит его, он попадал в новый span.

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

1 Ответ

1 голос
/ 27 октября 2010

Мне потребовалось некоторое время, чтобы самостоятельно навести курсор.Возможно, вам придется немного изменить его, чтобы использовать с созданным вами диапазоном, но это должно привести вас в правильном направлении:

// 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...