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) => {
// …
});
規範
此特性似乎未在任何規範中定義。瀏覽器相容性
載入中…