我知道在 contentEditable 中获取/设置光标位置几乎是不可能的。我不在乎知道这些信息。我需要能够保存当前选择,修改 div 的innerHTML,然后恢复选择。
我一直在尝试提供的答案contenteditable 选定的文本保存和恢复。输入 div 后有效,但输入后无效以编程方式修改div的innerHTML。相反,当我调用 RestoreSelection 时,插入符号只是转到开头。
任何关于如何在修改innerHTML而不是键入后能够保存/恢复contentEditable上的选择的建议将不胜感激。
如果您正在对现有的进行某种字符串替换innerHTML
您的可编辑元素,您也许可以使用我的Rangy图书馆及其保存/恢复选择模块。它使用具有特定 ID 的不可见元素来标记选择的开始和结束边界,因此如果您innerHTML
更改不包含这些元素,那么这将不起作用。
另一种替代方法是纯粹基于元素文本节点内的字符索引来执行此操作。我在这里写了一个简单的实现:https://stackoverflow.com/q/5596688/96100
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)