Wiem, że można to w jakiś sposób poradzić, ale od tej chwili jest to naprawdę trudne. Piszę scenariusz i chcę uruchomić kilka konkretnych funkcji po zakończeniu manipulacji DOM. Nie mogę modyfikować/dodawać/usuwać żadnego innego skryptu (ponieważ może zostać wstrzyknięty na stronę za pomocą jakiegoś frameworka). Strona korzysta z zapytań ajaxowych (nie zaimplementowanych w jQuery), aby załadować/zmodyfikować zawartość. Teraz chcę, aby zdarzenie zostało wywołane po zakończeniu każdej modyfikacji DOM. Moje obecne podejście polega na uruchomieniu funkcji w każdym zdarzeniu DOMSubtreeModified. Coś takiegoWypalanie zdarzenia javascript na każdej zmianie DOM "zakończone"
$(document).bind('DOMSubtreeModified', doSomeStuff);
Jednak wadą tego podejścia jest to, powiedzmy Ajax ładunki 10 elementów w rozmowy, to dla każdego elementu doSomeStuff jest zwolniony. Czy można to ograniczyć do strzelania tylko po załadowaniu 10 elementu? Coś jak resetowanie zdarzenia $ (document) .ready()? więc $ (document) .ready() jest uruchamiany za każdym razem, gdy DOM jest gotowy (po załadowaniu zawartości ajax)
DOMSubtreeModified to przestarzałe http://stackoverflow.com/questions/6659662/why-is-the-domsubtreemodified-event-deprecated-in-dom-level-3 i istnieją zalecenia dotyczące korzystania z tego zamiast aktualizacji http: // .html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers – Bernhard
@Bernhard DOMSubtreeModified wciąż działa z chromem, ale w jaki sposób obserwatorzy mutacji mogą mi powiedzieć, czy dokument jest znowu gotowy? – whizzzkid