【问题标题】:Equivalent of selectionStart, selectionEnd, and focus() for contenteditable spans and divs等效于 contenteditable spans 和 div 的 selectionStart、selectionEnd 和 focus()
【发布时间】:2011-11-04 21:37:18
【问题描述】:

我正在尝试设置一个 contenteditable 跨度,以便在 onkeyup 事件中使用格式化文本重新填充跨度。

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

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

【问题讨论】:

  • 如何使用 javascript 将插入符号/光标/插入点放置在可编辑的跨度中,就像使用 textarea 一样
  • 这是我对类似问题的回答:stackoverflow.com/questions/6240139/…

标签: javascript html selection contenteditable


【解决方案1】:

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

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

【讨论】:

  • 如何继续使用childNodes
猜你喜欢
  • 2013-10-17
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 1970-01-01
相关资源
最近更新 更多