我需要在Chrome中的一个contenteditable div中设置插入位置,这个div没有聚焦,但我知道插入位置,即div的HTML中的字符索引 . div可以在其中包含其他元素 .

到目前为止,我得到的最好的是在div的结尾或开始处设置插入位置

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

我也尝试在选择上调用'modify'来手动逐字移动光标并计算所选文本的长度,但如果有一个元素,则文本会停止,例如如果div内容为“ hello <span>world</span> ”,则所选节点的文本将仅为 hello .