Используя Firefox, как я могу отслеживать все события, которые запускаются?
Я пытаюсь отладить веб-страницу, которая интенсивно использует события, и поэтому мне нужно отслеживать все события, которые запускаются.
Большинство событий связаны с использованием jQuery. Следовательно, было бы особенно полезно, если бы был способ специально отслеживать только эти события.
Ответы
Ответ 1
Конечно, вы можете отлично справиться с Firebug, консолью и вкладкой скриптов, где вы можете добавить контрольные точки и часы, но вы хотите сделать это умнее/проще.
Существует плавный плагин Firebug под названием EventBug, который просто регистрирует все события и группирует их по типу события, чтобы вы могли развернуть и увидеть что вызвало их.
![EventBug Screenshot]()
EventBug не делает это в реальном времени, вам нужно обновить хотя.
Другой способ - использовать функцию "События журнала" для любого элемента DOM в Firebug. Это делает это в режиме реального времени, и вы можете видеть, какие события запуска запускаются и запускаются.
Попробуйте следующее:
- Переключить открытый Firebug
- Щелкните правой кнопкой мыши элемент на вкладке HTML, если вы хотите увидеть все события, затем щелкните правой кнопкой мыши
<body>
- Выберите
Log Events
из контекстного меню
- Убедитесь, что вкладка Консоль включена.
- Нажмите, чтобы включить режим "Persist" на вкладке "Консоль" (иначе вкладка "Консоль" будет очищена после перезагрузки страницы).
- Вам может потребоваться выбрать
Closed
(вручную)
- Voila! просматривать события событий на вкладке консоли.
Это то, что вы видите в журнальных событиях:
![enter image description here]()
Также стоит попробовать FireQuery дополнение для Firebug, чтобы увидеть, какие элементы в DOM связаны с событиями jQuery, и что они есть.
И как упоминает ответ benvie, это возможно и в инструментах разработчика webkit.
Ответ 2
Это было введено несколько версий назад, но на Firefox 35 события, связанные с элементом, можно увидеть в Инспекторе: рядом с элементом, который вы хотите просмотреть события (если они есть), будет значок с ' EV 'письма. Нажмите на нее, и вы увидите небольшое всплывающее окно с событиями для этого элемента.
![Firefox events inspector]()
Более подробная информация: http://flailingmonkey.com/view-dom-events-in-firefox-developer-tools/
Ответ 3
Это не существует в Firebug, я считаю, и основной проблемой является отсутствие поддержки или отсутствие воздействия на уровне api. Кроме того, существует только несколько способов подписаться на события DOM: Element.prototype.addEventListener(и window.addEventListener и document.addEventListener и XMLHttpRequest.addEventListener и некоторые другие), кроме свойств "onevent", которые являются наблюдаемыми и перехватываемыми.
Но реалистично, отладчик WebKit и отладчик Chromium (который является вебкитом с дополнительными точками) позволяют отлаживать и наблюдать подключенные слушатели. Иногда бывает проще отлаживать ошибки одного браузера в другом браузере с лучшей экспозицией состояния приложения/времени выполнения, даже если этот браузер не обнаруживает ошибку.
![enter image description here]()
https://developers.google.com/chrome-developer-tools/docs/elements