Я могу порвать с отладчиком на всех изменениях в элементе DOM?

Я действительно любил бы мочь видеть код, который влияет на определенный элемент DOM.

Но я также действительно любил бы не должным быть просматривать весь свой JavaScript, ищущий ссылки/селекторы, которые могли бы вызывать проблему.

У кого-либо есть техника для того, чтобы заставлять отладчик браузера повредиться на каких-либо изменениях в определенном элементе DOM? Я не возражаю против него требующий определенного браузера или расширения работы.

24
задан Adam A 30 January 2013 в 10:32
поделиться

1 ответ

Примечание: события ниже были замечательными, когда был задан вопрос, но уже не актуальны. Рекомендуемой альтернативой являются MutationObservers, но они все еще развиваются

MutationObserver в MDN


Попробуйте это (в Firefox с установленным Firebug ):

function breakOnChange(el) {

    if (!el.addEventListener) return;

    el.addEventListener('DOMAttrModified',
         function(DOMAttrModifiedEvent){debugger}, true);

    el.addEventListener('DOMNodeInserted',
         function(DOMNodeInsertedEvent){debugger}, true);

    el.addEventListener('DOMNodeRemoved',
         function(DOMNodeRemovedEvent){debugger}, true);

}

// Usage:
breakOnChange(someDomNode);
10
ответ дан 28 November 2019 в 23:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: