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.
Das MutationEvent Interface bietet Ereigniseigenschaften, die spezifisch für Änderungen in der Document Object Model (DOM)-Hierarchie und -Knoten sind.
Hinweis: Die Verwendung von Mutationsereignissen 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 (macht sie 1,5 bis 7 Mal langsamer!). Zudem wird durch das Entfernen der Listener der Schaden nicht rückgängig gemacht.
- Sie haben eine schlechte plattformübergreifende Kompatibilität: Safari unterstützt
DOMAttrModifiednicht (siehe WebKit Bug 8191) und Firefox unterstützt keine Mutation Name Events (wieDOMElementNameChangedundDOMAttributeNameChanged).
Sie wurden zugunsten von Mutation Observern veraltet. Erwägen Sie stattdessen deren Verwendung.
Instanz-Eigenschaften
Dieses Interface erbt auch Eigenschaften von seinem übergeordneten UIEvent und indirekt von Event.
MutationEvent.attrChangeSchreibgeschützt-
Gibt an, welche Art von Änderung das
DOMAttrModifiedEreignis ausgelöst hat. Es kannMODIFICATION(1),ADDITION(2) oderREMOVAL(3) sein. Es hat für andere Ereignisse keine Bedeutung und ist dann auf0gesetzt. MutationEvent.attrNameSchreibgeschützt-
Gibt den Namen des Knotens an, der vom
DOMAttrModifiedEreignis betroffen ist. Es hat für andere Ereignisse keine Bedeutung und ist dann auf den leeren String ("") gesetzt. MutationEvent.newValueSchreibgeschützt-
Enthält bei
DOMAttrModifiedEreignissen den neuen Wert des modifiziertenAttrKnotens. BeiDOMCharacterDataModifiedEreignissen enthält es den neuen Wert des modifiziertenCharacterDataKnotens. In allen anderen Fällen wird der leere String ("") zurückgegeben. MutationEvent.prevValueSchreibgeschützt-
Enthält bei
DOMAttrModifiedEreignissen den vorherigen Wert des modifiziertenAttrKnotens. BeiDOMCharacterDataModifiedEreignissen enthält es den vorherigen neuen Wert des modifiziertenCharacterDataKnotens. In allen anderen Fällen wird der leere String ("") zurückgegeben. -
Gibt den Knoten an, der mit dem Ereignis in Zusammenhang steht, z. B. den geänderten Knoten innerhalb des Teilbaums für
DOMSubtreeModified.
Instanz-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 unterstützt von Safari)DOMAttributeNameChanged(Nicht unterstützt von Firefox)DOMCharacterDataModifiedDOMElementNameChanged(Nicht unterstützt von Firefox)DOMNodeInsertedDOMNodeInsertedIntoDocumentDOMNodeRemovedDOMNodeRemovedFromDocumentDOMSubtreeModified
Beispiele
Sie können einen Listener für Mutationsereignisse wie folgt mit EventTarget.addEventListener() registrieren:
element.addEventListener("DOMNodeInserted", (event) => {
// …
});