MutationObserver
MutationObserver 观察器
提供了监视对DOM树所做更改的能力
var observer = new MutationObserver((mutationList, observer)=> {
mutationList 监听列表
mutationList[0]
mutation.type config中的属性}); 回调函数
// config 观察器配置 {attributes: true, childList: true, subtree: tree} 对dom属性变化观察,对dom子元素的监听等
config设置
childList :设置true,表示观察目标子节点的变化,比如添加或者删除目标子节点,不包括修改子节点以及子节点后代的变化
attributes:设置true,表示观察目标属性的改变
characterData:设置true,表示观察目标数据的改变
subtree:设置为true,目标以及目标的后代改变都会观察
attributeOldValue:如果属性为true或者省略,则相当于设置为true,表示需要记录改变前的目标属性值,设置了attributeOldValue可以省略attributes设置
characterDataOldValue:如果characterData为true或省略,则相当于设置为true,表示需要记录改变之前的目标数据,设置了characterDataOldValue可以省略characterData设置
attributeFilter:如果不是所有的属性改变都需要被观察,并且attributes设置为true或者被忽略,那么设置一个需要观察的属性本地名称(不需要命名空间)的列表 观察一个名称为这个key 对应的 value 的属性进行观察 是个数组 []
observer.observe(dom, config)
observer.disconnect() // 停止观察
MutationObserver的callback回调函数是异步的(推入队列中),只有在全部DOM操作完成之后才会调用callback。(一次队列中只允许存在一次)(要三次牛肉面只上来一碗)

浙公网安备 33010602011771号