Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 DOMAttrModified nicht (siehe WebKit Bug 8191) und Firefox unterstützt keine Mutation Name Events (wie DOMElementNameChanged und DOMAttributeNameChanged).

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.attrChange Schreibgeschützt

Gibt an, welche Art von Änderung das DOMAttrModified Ereignis ausgelöst hat. Es kann MODIFICATION (1), ADDITION (2) oder REMOVAL (3) sein. Es hat für andere Ereignisse keine Bedeutung und ist dann auf 0 gesetzt.

MutationEvent.attrName Schreibgeschützt

Gibt den Namen des Knotens an, der vom DOMAttrModified Ereignis betroffen ist. Es hat für andere Ereignisse keine Bedeutung und ist dann auf den leeren String ("") gesetzt.

MutationEvent.newValue Schreibgeschützt

Enthält bei DOMAttrModified Ereignissen den neuen Wert des modifizierten Attr Knotens. Bei DOMCharacterDataModified Ereignissen enthält es den neuen Wert des modifizierten CharacterData Knotens. In allen anderen Fällen wird der leere String ("") zurückgegeben.

MutationEvent.prevValue Schreibgeschützt

Enthält bei DOMAttrModified Ereignissen den vorherigen Wert des modifizierten Attr Knotens. Bei DOMCharacterDataModified Ereignissen enthält es den vorherigen neuen Wert des modifizierten CharacterData Knotens. In allen anderen Fällen wird der leere String ("") zurückgegeben.

MutationEvent.relatedNode Schreibgeschützt

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 MutationEvent mit 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)
  • DOMCharacterDataModified
  • DOMElementNameChanged (Nicht unterstützt von Firefox)
  • DOMNodeInserted
  • DOMNodeInsertedIntoDocument
  • DOMNodeRemoved
  • DOMNodeRemovedFromDocument
  • DOMSubtreeModified

Beispiele

Sie können einen Listener für Mutationsereignisse wie folgt mit EventTarget.addEventListener() registrieren:

js
element.addEventListener("DOMNodeInserted", (event) => {
  // …
});

Spezifikationen

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch