我有一个简单的 contenteditable div,里面有一些文本。在 onkeyup 事件中,我想基于正则表达式替换 div 的全部内容(innerHTML)。
例如,
HTML:
some text, more text and $even more text
我计划在其中使用 $ (甚至在上面的示例中为 $)获取所有文本并将其包装在 span 标签中的函数:
div.onkeypress = function() {
div.innerHTML.replace(/(some_regexp)/, "<span class='class'>$1</span>");
};
问题是在这样的替换光标跳转到 div 的开头之后。我希望它保持在以前的位置。
我想我必须在更改之前保存光标的坐标,然后以某种方式使用它们设置光标,但我该怎么做?:)
我尝试保存范围对象,但编辑后我相信它指向无处。
谢谢!