为contenteditable div设置光标/选择

时间:2014-06-16 23:51:14

标签: google-chrome browser selection contenteditable

设置焦点非常简单:node.focus()。我在寻找其他答案方面取得的成功有限。我可以将光标设置在开头或结尾,或者我可以使用chrome中的代码选择整个内容:

// if start==0 means the beginning, start===1 means the end
function setSelection(node, start, length) {
    var range = document.createRange();
    range.setStart(node, start);
    range.setEnd(node, length);
    //range.collapse(true);

    var selection = getSelection()
    selection.removeAllRanges();
    selection.addRange(range);
}

所以问题是:如何更精细地设置光标,比如字符2.另外,如何设置选择,例如从字符2到字符5?

MDN tells me Range.setStart对Text,Comment或CDATASection节点的行为与其他节点不同。如果我可以让setStart将div视为Text节点,我认为我的问题可能会得到解决。

有人有什么想法吗?

0 个答案:

没有答案