MutationEvent
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
MutationEvent 接口提供了特定于修改文档对象模型(DOM)层级和节点的事件属性。
注意: 使用变异事件是有问题的
- 它们的 设计存在缺陷。
- 向文档添加 DOM 变异监听器会 严重降低该文档后续 DOM 修改的性能(使其变慢 1.5 - 7 倍!)。此外,移除监听器也无法逆转这种损害。
- 它们的跨浏览器兼容性很差:Safari 不支持
DOMAttrModified(参见 WebKit Bug 8191),而 Firefox 不支持变异名称事件(如DOMElementNameChanged和DOMAttributeNameChanged)。
它们已被弃用,取而代之的是 MutationObserver。请考虑改用它们。
实例属性
此接口还继承了其父级 UIEvent 的属性,以及间接继承自 Event 的属性。
MutationEvent.attrChange只读 已弃用 非标准-
指示触发
DOMAttrModified事件的更改类型。它可以是MODIFICATION(1)、ADDITION(2) 或REMOVAL(3)。对于其他事件,它没有意义,因此设置为0。 MutationEvent.attrName只读 已弃用 非标准-
指示受
DOMAttrModified事件影响的节点名称。对于其他事件,它没有意义,因此设置为空字符串 ("")。 MutationEvent.newValue只读 已弃用 非标准-
在
DOMAttrModified事件中,包含已修改的Attr节点的新值。在DOMCharacterDataModified事件中,包含已修改的CharacterData节点的新值。在所有其他情况下,返回空字符串 ("")。 MutationEvent.prevValue只读 已弃用 非标准-
在
DOMAttrModified事件中,包含已修改的Attr节点的前一个值。在DOMCharacterDataModified事件中,包含已修改的CharacterData节点的前一个新值。在所有其他情况下,返回空字符串 ("")。 -
指示与事件相关的节点,例如
DOMSubtreeModified事件的子树中已更改的节点。
实例方法
MutationEvent.initMutationEvent()已弃用 非标准-
构造函数,用于返回一个使用给定参数配置的新
MutationEvent。
变异事件列表
以下是所有变异事件的列表
DOMAttrModified(Safari 不支持)DOMAttributeNameChanged(Firefox 不支持)DOMCharacterDataModifiedDOMElementNameChanged(Firefox 不支持)DOMNodeInsertedDOMNodeInsertedIntoDocumentDOMNodeRemovedDOMNodeRemovedFromDocumentDOMSubtreeModified
示例
您可以使用 EventTarget.addEventListener() 注册变异事件的监听器,如下所示:
element.addEventListener("DOMNodeInserted", (event) => {
// …
});
规范
此特性似乎未在任何规范中定义。浏览器兼容性
加载中…