Точка останова Javascript на пользовательском событии

Когда я нажимаю кнопку в моем приложении, выполняется серия кода Javascript, в этом конкретном случае я нажимаю кнопку "Отмена", чтобы закрыть текущее открытое модальное окно. это close кнопка выглядит так в HTML:

<a class="cancel close">Cancel</a>

Что мне нужно, так это способ отследить, что "срабатывает" при нажатии этой кнопки. <a> элемент в Javascript, не обращаясь к файлам.js для ссылки на этот элемент DOM (где событие было связано с <a> элемент).

Есть ли способ создать какую-то точку останова в Javascript после того, как пользователь сгенерирует событие, но я не знаю, где находится этот код Javascript? Для того, чтобы на самом деле найти, где этот код.

Я использую Google Chrome/Developer Tools для отладки Javascript.

2 ответа

Решение

Откройте консоль разработчика; перейти на вкладку скриптов; щелкните на левом поле (на номере строки), чтобы установить точку останова. Выполнение скрипта приостановится в точке останова, и вы можете проверить стек вызовов, локальные переменные и так далее.

Или вы можете нажать "Пауза", прежде чем инициировать событие, и выполнение сценария будет приостановлено (например, установка глобальной точки останова), как только сценарий будет готов к выполнению, и покажет вам код. Затем вы можете возобновить, перешагнуть, войти или выйти из текущей функции / выражения.

Вы можете сделать это в Firebug и встроенных консолях в Safari, Chrome, Opera и IE.

Редактировать: я должен добавить, что кнопка паузы менее полезна, если у вас есть анимация на основе javascript, ajax-опрос или другой код, вызываемый с интервалом, так как кнопка паузы останавливает выполнение любого скрипта до тех пор, пока вы не нажмете кнопку возобновить. Таким образом, произойдет пауза, когда, скажем, будет вызвана функция обновления анимации, вероятно, еще до того, как у вас появится возможность вызвать интересующий вас код.

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

Firebug - это опция для FF.

http://getfirebug.com/doc/breakpoints/demo.html

Другие вопросы по тегам