可以监听到属性、文本内容、节点插入删除、子节点变化等事件。可是该事件 W3C 已废弃,虽然一些浏览器仍然支持,但不建议使用。
MutationObserver目前IE11+及其它浏览器最新版本都已支持。可以通过以下代码判断是否支持
使用如下
options 是配置参数,这里的配置可以观察到 div 元素的子元素和属于变动。
options 有如下选项
当变动发生时回调函数会将变动记录 MutationRecord 对象传入,MutationRecord 包含了 DOM 的相关信息,有如下属性
示例1:观察子元素的变动
配置项 childList 表示观察子元素,subtree 表示观察子元素的下级元素。在本页面的浏览器控制台输入以下代码分别测试
app1.removeChild(p1)
app1.appendChild(document.createTextNode(‘TEST’))
示例2:观察属性的变化
app2
配置参数跟踪属性变动(’attributes’: true),然后设定记录变动前的值。实际发生变动时,会将变动前的值显示在控制台。打开本页面的浏览器控制台,输入以下代码测试
app2.id = ‘apptest’
示例3:观察文本元素的变化
示例3:观察元素内容的变动
old value
配置项会观察元素文本的变化,当变动时会记录老的文本元素。打开本页面的浏览器控制台,输入以下代码测试
app3.appendChild(document.createTextNode(‘ hello’))
相关:
Original: https://www.cnblogs.com/snandy/p/5362824.html
Author: snandy
Title: 强大的DOM变化观察者MutationObserver
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553523/
转载文章受原作者版权保护。转载请注明原作者出处!