Gibt es ein Ereignis “bei DOM-Änderung”? [duplicate]

Lesezeit: 2 Minuten

Gibt es ein Ereignis bei DOM Anderung duplicate
Sherzod

Mögliches Duplikat:

Veränderungen im DOM erkennen

Ich muss einen Ereignishandler einrichten, der immer dann ausgelöst werden soll, wenn etwas an das DOM angehängt/geändert/entfernt wird. Diese Antwort funktioniert in meinem Fall nicht. Das DOM kann von Drittentwicklern modifiziert werden, und bei jeder DOM-Änderung müssen wir unser Skript ausführen, um den Code zu validieren. Das Ereignis sollte bei einer Änderung von Eingabe/Textbereich/Auswahl nicht ausgelöst werden.

Wir tun nicht alle Browser ansprechen. Solange es auf Webkit (Chrome, Safari) funktioniert, ist es gut genug.

Irgendwelche Ideen?

  • Hat jemand den Link zu der Frage, dass dies ein genaues Duplikat ist? Ich bin von Google hierher gekommen.

    – travis

    16. April ’12 um 18:05

  • @travis: kein exaktes Duplikat, aber nahe: stackoverflow.com/questions/3219758/detect-changes-in-the-dom

    – Sherzod

    16. April ’12 um 18:09

  • @travis: Ich habe tatsächlich die Antwort gefunden, die zu meinem Fall passt: using DOMSubtreeModified Ereignis, aber Sie müssen die Browserunterstützung überprüfen. Webkit funktioniert gut damit.

    – Sherzod

    16. April ’12 um 18:11

  • Ja, ich suche nach etwas, das mindestens bis zum IE8 funktioniert.

    – travis

    16. April ’12 um 18:27

DOM-Mutationsereignisse (ich glaube nicht in allen Browsern unterstützt) .. siehe http://en.wikipedia.org/wiki/DOM_events#Common.2FW3C_events

Gibt es ein Ereignis bei DOM Anderung duplicate
ShankarSangoli

Ich glaube nicht, dass es in allen Browsern ein solches Ereignis gibt. Ich würde mit einem benutzerdefinierten Ereignis gehen und es auslösen, wenn ich den Dom manipuliere.

//Subscribe to domChanged event
$(document).bind('domChanged', function(){
     alert('Dom changed');
});

//Trigger the domChanged event
$(document).trigger('domChanged');

  • Das Problem besagt, dass dom von einer dritten Partei manipuliert wird. das wird also nicht funktionieren.

    – Geheimnis

    9. Oktober ’12 um 8:53

  • domChanged sollte eine Konstante sein, die in einem Ereignismodul definiert ist. Z.B, export const domInjected = 'myDOMInjected'; (ES6) Sie sollten auch vorsichtig sein, etwas zu verwenden, das in naher Zukunft bereits existiert … wie DOMNodeInserted

    – Ray Foss

    17. August ’16 um 12:26


.

389740cookie-checkGibt es ein Ereignis “bei DOM-Änderung”? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy