Как найти отрывок JavaScript, который изменяет элемент?

Это просто позволяет Вам использовать зарезервированные слова в качестве имен переменной. Я хотел var, названный event на днях. Я собирался пойти с _event вместо этого, но мой коллега напомнил мне, что я мог просто назвать его @event вместо этого.

7
задан CMS 26 October 2009 в 02:20
поделиться

3 ответа

How do you know that the javascript is modifying this value? Since it looks you already know when it's called (since you know it changes), I would suggest a breakpoint in Firebug in the first event that initiates the changing (probably an onclick attribute in other element).

It's kind of hard telling you a "generic" way of knowing where in javascript it's changing Foo's value since there are a lot of different approachs, different libraries, each one with it's syntax.

For example, if you tried searching "Foo" and didn't find it, the script may be traversing the DOM and changing the input's value as a "first child of something". I would try to search for names or ids of input's parent elements and understand the code from there.

I usually just try to understand the javascript logic from every script I use with Firebug's debugging techniques - but just on the script that uses the libraries.

1
ответ дан 7 December 2019 в 03:17
поделиться

Firebug 1.5 будет иметь "Break-on-Modify" на панели HTML. См. http://getfirebug.com/doc/breakpoints/demo.html#html - Прерывание событий мутации DOM (HTML).

8
ответ дан 7 December 2019 в 03:17
поделиться

Если Firebug не позволяет вам определять точки останова при установке какого-либо значения, вы можете вставить что-то вроде этого на странице (только для Firefox):

$("textarea")[0].__defineSetter__("value", function(val) {
   alert("called");
})

И любая точка останова для функции в Firebug или используйте console.log или что-то еще, чтобы выгрузить стек в консоль firebug.

Я помню, как где-то видел презентацию планов Firebug, которая включала раздел о различных типах поддерживаемых точек останова, но я не могу найти ссылку на него прямо сейчас.


[править] Вышеуказанное относится к случаю, когда значение устанавливается путем присвоения свойству value: .value = ... . Если вам нужно поймать момент изменения атрибута ( .setAttribute ("значение", ...) ), вы можете использовать прослушиватели мутаций DOM.

0
ответ дан 7 December 2019 в 03:17
поделиться
Другие вопросы по тегам:

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