Javascript 如何获取并插入ContentEditable Div中TextNode的偏移量

Javascript 如何获取并插入ContentEditable Div中TextNode的偏移量,javascript,html,jquery,Javascript,Html,Jquery,我正在努力实现的目标: 我有一个contenteditable div(特别是既没有textarea也没有input)。当用户编辑该div的内容时,他们可能会离开该div,然后单击页面上其他位置的按钮,将一个span(包含预定义的中文字符)插入该div。我需要该span在选择时进入该div。现在,我假设选择将仅通过最后一个插入符号位置进行 到目前为止我所做的: 我得到了插入符号的字符偏移量,并将其存储在页面的其他位置。然后,我抓取偏移量并尝试使用range.insertNode插入它。然而,我注

我正在努力实现的目标:

我有一个contenteditable div(特别是既没有textarea也没有input)。当用户编辑该div的内容时,他们可能会离开该div,然后单击页面上其他位置的按钮,将一个span(包含预定义的中文字符)插入该div。我需要该span在选择时进入该div。现在,我假设选择将仅通过最后一个插入符号位置进行

到目前为止我所做的:

我得到了插入符号的字符偏移量,并将其存储在页面的其他位置。然后,我抓取偏移量并尝试使用
range.insertNode
插入它。然而,我注意到我抓取的偏移量是字符数,所以我得到一个错误,说我的偏移量没有节点

然后我读到:
function insertAtOffset(parent, child, offset = 0){
            range = document.createRange();
            range.selectNode(parent);
            range.setStartBefore(parent.childNodes[offset]);
            range.insertNode(child);
        }