Какие обработчики событий подключены к узлу DOM - как найти? - PullRequest
12 голосов
/ 30 ноября 2010

Есть ли способ узнать, какие обработчики событий подключены к данному узлу DOM?

Например, когда вы нажимаете ссылку «Добавить комментарий», к ней прикрепляется обработчик события, который показывает форму комментария. Теперь, если у меня есть документ DOM (веб-страница), и я хочу перечислить все обработчики событий для одного конкретного узла, есть ли способ сделать это?

(я подозреваю, что JS не может работать на странице; есть ли у расширений браузера в FF доступ к этим данным?)

Ответы [ 3 ]

11 голосов
/ 30 ноября 2010

Chrome (и я подозреваю, что Safari) может отображать подключенные прослушиватели событий, когда вы выбираете элемент в DOM, а затем прокручиваете правую боковую панель до раздела прослушивателей событий.Там вы можете увидеть, какие функции подключены.

В данный момент у меня нет копии Firebug, но я подозреваю, что на вкладке DOM также отображается аналогичная информация в Firefox.

9 голосов
/ 18 декабря 2013

В Chrome вы можете использовать getEventListeners.

  1. Открыть инструменты разработчика
  2. Выберите интересующий вас элемент
  3. Введите следующую консоль: getEventListeners($0)
  4. Нажмите Enter.

Должны быть возвращены имена событий сопоставления объектов их обработчикам.Обратите внимание, что $0 - это специальная переменная инструментов разработчика , которая всегда указывает на последний элемент, выбранный на вкладках «Элементы».

1 голос
/ 17 октября 2013

в Chrome:

  1. «Проверить элемент» на элементе, о котором вы хотите знать
  2. На вкладке «Элементы» в инструментах разработчика на правой панели щелкните «Прослушиватели событий»

Это покажет вам, какие обработчики событий прикреплены к этому элементу.

(ответ Кроф мог бы быть написан более четко.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...