MutationEvent
Deprecated
To be removed
This feature is pending removal from browsers. Using it now may lead to broken functionality in future updates. Mutation events negatively impact performance and they were selected for removal from the web as part of Interop 2025. >
Use the following features instead: MutationObserver.>
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Die MutationEvent-Schnittstelle bietet Ereigniseigenschaften, die spezifisch für Änderungen an der Document Object Model (DOM)-Hierarchie und -Knoten sind.
Hinweis: Die Verwendung von Mutationsevents ist problematisch:
- Ihr Design ist fehlerhaft.
- Das Hinzufügen von DOM-Mutations-Listenern zu einem Dokument verschlechtert die Leistung erheblich weiterer DOM-Änderungen an diesem Dokument (sie werden 1,5 - 7 Mal langsamer!). Darüber hinaus behebt das Entfernen der Listener den Schaden nicht.
- Sie haben eine schlechte plattformübergreifende Kompatibilität: Safari unterstützt
DOMAttrModifiednicht (siehe WebKit-Fehler 8191) und Firefox unterstützt keine Mutationsnamen-Ereignisse (wieDOMElementNameChangedundDOMAttributeNameChanged).
Sie wurden zugunsten von Mutation Observers veraltet. Überlegen Sie, stattdessen diese zu verwenden.
Instanzen-Eigenschaften
Diese Schnittstelle erbt auch Eigenschaften von ihrem übergeordneten UIEvent und indirekt von Event.
MutationEvent.attrChangeSchreibgeschützt-
Gibt an, welche Art von Änderung das
DOMAttrModified-Ereignis ausgelöst hat. Es kannMODIFICATION(1),ADDITION(2) oderREMOVAL(3) sein. Für andere Ereignisse hat es keine Bedeutung und ist dann auf0gesetzt. MutationEvent.attrNameSchreibgeschützt-
Gibt den Namen des Knotens an, der vom
DOMAttrModified-Ereignis betroffen ist. Für andere Ereignisse hat es keine Bedeutung und ist dann auf den leeren String ("") gesetzt. MutationEvent.newValueSchreibgeschützt-
Bei
DOMAttrModified-Ereignissen enthält den neuen Wert des modifiziertenAttr-Knotens. BeiDOMCharacterDataModified-Ereignissen enthält den neuen Wert des modifiziertenCharacterData-Knotens. In allen anderen Fällen zurückgegeben als leerer String (""). MutationEvent.prevValueSchreibgeschützt-
Bei
DOMAttrModified-Ereignissen enthält den vorherigen Wert des modifiziertenAttr-Knotens. BeiDOMCharacterDataModified-Ereignissen enthält den vorherigen Wert des modifiziertenCharacterData-Knotens. In allen anderen Fällen zurückgegeben als leerer String (""). -
Gibt den Knoten an, der sich auf das Ereignis bezieht, wie etwa der geänderte Knoten innerhalb des Unterbaums für
DOMSubtreeModified.
Instanzen-Methoden
MutationEvent.initMutationEvent()-
Konstruktor-Methode, die ein neues
MutationEventmit den angegebenen Parametern konfiguriert zurückgibt.
Liste der Mutationsereignisse
Die folgende Liste zeigt alle Mutationsereignisse:
DOMAttrModified(Nicht von Safari unterstützt)DOMAttributeNameChanged(Nicht von Firefox unterstützt)DOMCharacterDataModifiedDOMElementNameChanged(Nicht von Firefox unterstützt)DOMNodeInsertedDOMNodeInsertedIntoDocumentDOMNodeRemovedDOMNodeRemovedFromDocumentDOMSubtreeModified
Beispiele
Sie können einen Listener für Mutationsereignisse registrieren, indem Sie EventTarget.addEventListener() wie folgt verwenden:
element.addEventListener("DOMNodeInserted", (event) => {
// …
});