2013-05-13 6 views
0

Это для целей отладки, чтобы найти, какая часть кода создает/изменяет элемент.JS событие, когда элемент добавлен в DOM?

Есть ли способ, чтобы создать событие точки останова л обратного вызова раз указанный ID/CLASS был добавлен элемент/модифицированный?

Конечно, может быть и другой способ, так что хотелось бы услышать это тоже.

+0

Для этого обычно используется плагин jquery 'livequery'. – Arindam

+0

Инспектор не может использоваться для наблюдения за созданием/удалением элементов DOM. – Arindam

+1

Я собирался предложить новый объект (ish) 'MutationObserver' ([DOM4] (https://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-observers), [ MDN] (https://developer.mozilla.org/en-US/docs/DOM/MutationObserver?redirectlocale=en-US&redirectslug=DOM%2FDOM_Mutation_Observers)), которые поддерживаются некоторыми браузерами (Chrome 18+, Firefox 14+ и Safari 6 +). Но поскольку Rob W указал на мой теперь удаленный ответ, обратный вызов, который вы получаете из 'MutationObserver', является асинхронным, поэтому вы не можете его разбить. :-( –

ответ

1

С Devtools, что невозможно получить точное решение, но вы можете попробовать вариации этого:

  1. Поднимают DevTools (Ctrl + Shift + I), перейти к элементам панель.
  2. Щелкните правой кнопкой мыши нужный элемент (родительский).
  3. В контекстном меню выберите Break on... - Subtree Modifications.

Как говорится, DevTools разбивается на код, который изменяет узлы-преемники элемента контекста. Вы также можете установить точку останова Node Removal таким же образом, что и при удалении контекстного элемента.

+0

Спасибо, я использовал этот метод, однако он не работает для меня и моего тяжелого приложения js/ajax :( –

Смежные вопросы