По этой ссылке я связываю два обработчика событий:
<a href='#' id='elm'>Show Alert</a>
JavaScript:
$(function()
{
$('#elm').click(_f);
$('#elm').mouseover(_m);
});
function _f(){alert('clicked');}
function _m(){alert('mouse over');}
Есть ли способ получить список всех событий, связанных с элементом, в этом случае для элемента с id="elm"
?
javascript
jquery
javascript-events
Правин Прасад
источник
источник
$._data(element[0], ‘events’);
$._data()
используется внутренним JQuery.$.data()
это публичный метод для пользователя. И$.data(element, 'events')
работает отлично.Общий случай:
Sources
вкладкуEvent Listener Breakpoints
и разверните деревоТочно так же вы можете:
Inspect element
"event listeners
'.источник
Я добавляю это для потомков; Есть более простой способ, который не требует написания большего количества JS. Используя удивительный аддон Firebug для Firefox ,
источник
Теперь вы можете просто получить список прослушивателей событий, связанных с объектом, с помощью функции javascript getEventListeners ().
Например, введите следующее в консоли инструментов dev:
источник
JQuery Audit плагин плагин должен позволить вам сделать это с помощью обычных инструментов Chrome Dev. Он не идеален, но должен позволять вам видеть фактический обработчик, связанный с элементом / событием, а не только общий обработчик jQuery.
источник
Хотя это не совсем специфично для селекторов / объектов jQuery, в FireFox Quantum 58.x вы можете найти обработчики событий для элемента, используя инструменты Dev:
источник
Я использовал что-то вроде этого, если ($ ._ data ($ ("a.wine-item-link") [0]). Events == null) {... сделать что-то, снова связать их обработчики событий}, чтобы проверить если мой элемент связан с каким-либо событием. Он по-прежнему скажет undefined (null), если вы отсоединили все свои обработчики событий от этого элемента. Вот почему я оцениваю это в выражении if.
источник
Обратите внимание, что события могут быть прикреплены к самому документу, а не к рассматриваемому элементу. В этом случае вы захотите использовать:
И найдите событие с правильным селектором :
А затем посмотрите на обработчик > [[FunctionLocation]]
источник
Когда я передаю небольшой сложный запрос DOM к данным $ ._, например,
$._data($('#outerWrap .innerWrap ul li:last a'), 'events')
он выдает неопределенное в консоли браузера.Поэтому мне пришлось использовать данные $ ._ в родительском div:
$._data($('#outerWrap')[0], 'events')
чтобы увидеть события для тегов a. Вот JSFiddle для того же: http://jsfiddle.net/giri_jeedigunta/MLcpT/4/источник
$('#outerWrap')
. События на самом деле связаны с этим элементом, а не с отдельными якорями.