Какие обработчики событий подключены к 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 мог быть более четко написан.)