Можно ли определить, когда было установлено свойство встроенного стиля?

У меня есть ошибка, из-за которой для свойства style.height определенного элемента div с помощью Javascript установлено значение 0 пикселей, но я понятия не имею, какой код выполняет эту нежелательную настройку.

Можно ли сообщить отладчику, что выполнение должно останавливаться, когда задано свойство встроенной высоты, или мне нужно, по крайней мере, сгенерировать событие, когда это произойдет?

Проблема возникает в сложном внутреннем цикле, и я не хочу выполнять ручной «бинарный поиск», если мне это действительно не нужно. (Особенно потому, что есть вероятность, что код виновника может исходить от события или тайм-аута, и его будет сложнее определить вручную)

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


person hugomg    schedule 16.07.2012    source источник
comment
возможный дубликат Найти, какой javascript изменяет DOM?   -  person Bergi    schedule 06.03.2013


Ответы (1)


Я полагаю, что на вкладке «Элементы» Chrome Dev Tools вы можете щелкнуть правой кнопкой мыши элемент, и должна быть опция «Разрыв при изменении атрибута».

https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints#dom

person BenSho    schedule 16.07.2012
comment
Хм, я почему-то забыл, что это работает для внутренних атрибутов. Знаете ли вы, есть ли способ установить это для элементов, которые еще не были включены в основное дерево документа? (Если я печатаю элемент в консоли, он показывает только параметр «Показать на вкладке «Элементы», но ничего не делает, поскольку он еще не вставлен...) - person hugomg; 16.07.2012
comment
Я не думаю, что есть способ сделать это. У этого элемента есть идентификатор? Если это так, возможно, вы можете использовать функцию поиска сценариев на вкладке «Сценарии» и найти идентификатор, или, возможно, выполнить поиск «.createElement» и начать устанавливать некоторые точки останова, вам может повезти. - person BenSho; 16.07.2012
comment
нет, я провел несколько тестов, и оказалось, что мониторинг атрибутов работает только с теми вещами, которые атакованы на основной документ. Я думаю, что временное присоединение узла к телу документа может помочь. - person hugomg; 16.07.2012