0

我需要在 Chrome 中的 contenteditable div 中设置插入符号位置,但我知道插入符号位置,即 div 的 HTML 中的字符索引。div 里面可能有其他元素。

到目前为止我得到的最好的是将插入符号位置设置在 div 的末尾或开头

domNode.focus();
if (window.getSelection) {
    var sel = window.getSelection();
    //sel.collapseToStart();
        //sel.collapseToEnd();
    sel.collapse(domNode, caretPos);
}

我还尝试在选择上调用“修改”以手动逐字移动光标并计算所选文本的长度,但如果有一个元素挡住了文本会停止,例如如果 div 内容是“ hello <span>world</span>”,那么所选节点的文本只会hello

4

0 回答 0