对于可信的跨度和div,相当于selectionStart,selectionEnd和focus()

时间:2011-11-04 21:37:19

标签: javascript html selection contenteditable

我正在尝试设置contenteditable范围,以便它会在onkeyup事件中使用格式化文本重新填充范围。

然而,当我尝试这个时,光标消失,我不能再打字了。这是因为格式化程序不是修改已经在span中的文本,而是将其全部删除,然后将格式化文本写入其位置。

重要的是(我认为是)要注意该元素似乎没有失去焦点。另外,因为我希望这个项目在发布之前保持相当“秘密”,所以我宁愿不立即泄露源代码。

1 个答案:

答案 0 :(得分:1)

这可能是由于您使用innerHTML设置格式化文本。

而是使用childNodes集合来访问内容并用格式化的html元素替换textNodes。这样可以避免设置innerHTML并避免失去焦点。