Какие обработчики событий подключены к DOM node - как их найти?

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

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

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

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

В Chrome:

  • "Осмотреть элемент" в элементе, который вы хотите узнать о
  • На вкладке "Элементы" в инструментах разработчика в правой панели щелкните "Слушатели событий"

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

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