Как отлаживать события JAVASCRIPT? Или как заставить все функции вызывать трассировку? - PullRequest
21 голосов
/ 18 августа 2010

Например, есть кнопка.Он заключен в <div>.

При нажатии на эту кнопку происходит вызов функции javascript, затем другой функции, затем вызов ajax на сервер и, если все в порядке, javascript перенаправляет эту страницу на другую страницу.

Трудно отладить.

Возможно ли "перехватить" это событие ?Т.е. узнать, какая функция вызывается после нажатия на кнопку?Кнопка не имеет атрибута "onclick", т.е. слушатель событий подключен в javascript.

А если это невозможно, то возможно ли сделать трассировку ?То есть посмотреть на все вызовы функций, который вызывается после чего?

Было бы лучше визуально, хотя в тексте это тоже хорошо:)

Спасибо за ответы!

Ответы [ 3 ]

24 голосов
/ 18 августа 2010

Да - это не так просто, как хотелось бы.

В Google Chrome есть панель Прослушиватели событий .Щелкните правой кнопкой мыши по кнопке и выберите Проверка элемента .Убедитесь, что выбран правильный элемент, затем проверьте панель Event Listeners справа.

Вы также можете использовать ключевое слово debugger, чтобы где-то установить точку останова в стеке вызовов.Затем используйте ваш любимый отладчик javascript (встроенные средства разработки в Safari, Google Chrome и IE8, firebug для Firefox).В каждом из них есть стек вызовов, который позволит вам перемещаться по текущему стеку вызовов.

0 голосов
/ 18 августа 2010

Проверьте функции отладки в Firebug , это позволит вам добавлять точки останова JavaScript и проходить по коду.

0 голосов
/ 18 августа 2010

Вы можете использовать firebug для отслеживания кода javascript .Его плагин Firefox для отслеживания стилей (CSS), JS, а также позволяет редактировать.

Opera предоставляет стрекоза , который похож на Firebug

...