Wie kann ich feststellen, wann das DOM geändert wurde?

8

Gibt es eine einfache Möglichkeit zu wissen, wann das DOM geändert wurde?

Gibt es dafür ein eingebautes JavaScript / jQuery Event / Funktion?

    
Misha Moroshko 19.09.2010, 06:11
quelle

3 Antworten

6

Wenn Sie Änderungen erkennen müssen, können Sie die DOM-Mutationsereignisse überprüfen. Auf der DOM-Ereignisse Wikipedia-Seite werden alle aufgelistet. Sie sollten jedoch wissen, dass sie in Internet Explorer nicht unterstützt werden und in den Browsern, die sie unterstützen, zu häufig ausgelöst werden. Ein Brute-Force-Ansatz besteht darin, setTimeout zu verwenden und selbst nach Änderungen zu suchen.

Meine Erfahrung zeigt jedoch, dass die Notwendigkeit von DOM-Änderungsbenachrichtigungen vermieden werden kann. Können Sie nähere Angaben zu Ihren genauen Anforderungen machen?

    
Atanas Korchev 19.09.2010, 06:24
quelle
4

Sie können an viele DOM-Ereignisse anhängen, abhängig von der Art der Änderung, auf die Sie achten möchten. Hier ist eine Seite mit allen DOM-Änderungsereignissen:

Ссылка

Das generische, Catch-all-DOM-Änderungsereignis ist DOMSubtreeModified . Zum Beispiel:

%Vor%     
Delan Azabani 19.09.2010 06:19
quelle
2

Es gibt kein eingebautes Ereignis dafür, das leider weithin unterstützt wird. Sie können jedoch ein jQuery-Plug-in namens Live-Abfrage verwenden.

    
David Tang 19.09.2010 06:20
quelle