如何获取在使用 document.execCommand 突出显示文本时创建的元素
How to get the element(s) created when text is highlighted with document.execCommand
如何使用
document.execCommand('BackColor', false, color)
(或'HiliteColor'
)检索为使用突出显示的背景换行文本而创建的元素?作为参考,我正在使用 Tim Down 的解决方案来突出显示选定的文本:https://stackoverflow.com/a/2583895/494954。
我知道我可以在选择中获得一个节点,然后沿着链向上移动,直到找到具有我指定的背景颜色的元素,但我想知道是否有更优雅的解决方案?
实际上没有一个优雅的解决方案。您现在可以在 IE>= 9 和非 IE 浏览器中使用 DOM 突变事件,但将来很有可能会删除这些事件,以支持突变观察者。下面是使用 DOMNodeInserted
事件的演示。它仅检测已插入的元素,而不会过滤掉任何未突出显示元素的元素:
http://jsbin.com/joqofojetu/1/
可以使用突变观察器实现类似的解决方案,但有两个缺点:首先,IE仅从版本11开始支持它们。其次,与突变事件不同,突变观察者不能保证同步触发,因此您必须等待一段时间才能处理收集的元素。
相关文章:
- xmlhttp.responseText不显示文本
- 如何在MVC中使用jQuery在文本框旁边显示文本
- 根据页面的位置突出显示文本中的字符
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 操作javascript变量[HTML]以只显示文本
- 如何显示文本长度,即使它超过ng最大长度
- 如何在悬停时显示文本而不移动页面上的内容
- ASP.NET MVC,在文本框旁边显示文本
- 可单击滚动图像以显示文本框
- 使用鼠标悬停JavaScript/HTML显示文本
- 延迟高亮显示文本区域中的文本
- 选择“选择选项”时显示文本.怎么做
- 无法使用JavaScript在画布上显示文本
- 在不更改HTML源代码的情况下,在管理员TinyMCE编辑器中突出显示文本
- 将鼠标悬停在图像上时显示文本
- javascript:在for循环中使用settimeout来定期显示文本
- 一页主题搜索/用下一个按钮突出显示文本
- JavaScript 在更改选择时不显示文本区域
- 用于突出显示文本的JQuery/JavaScript插件
- 模式显示文本区域内容不是字符串