Получить список событии навешенных на элемент
Уважаемые, не могу понять, каким образом можно получить список событии навешенных на элемент через on()? Пробовал такие варианты через консоль:
1) element.data('events'); 2) $.data(element, 'events'); 3) $._data(element, 'events'); 4) $._data(element[0], 'events'); Все они возвращали undefined. Заранее спасибо! |
в jQuery.cache все хранится. Если это для отладки, то "Инструменты разработчика" в Chorme умеют показывать обработчики событий Elements>Event Listeners
|
Octane,
не очень разборчиво чего-то там. Показывает, что на любом элементе висят обработчики ... Где истина? |
Список не фильтруется при выборе элемента, там сразу все обработчики отображаются. Если раскрыть событие, будут видны элементы.
|
да, навешенные события как бы видно, handler стоит как
function(b){return typeof o!==U&&o.event.triggered!==b.type?o.event.dispatch.apply(a,arguments):void 0} ну ладно, допустим нашли обработчик, теперь как его оттуда удалить? |
Решение есть, с помощью такой конструкции можно проверить, есть ли у элемента обработчик:
if(typeof($._data(element[0], "events").click) === 'object'){return false;}НО! этот метод не работает на новые элементы принятые аяксом. Как можно обойти? |
Цитата:
|
между прочим, Event Listener Хрома также не видит новые элементы ...
|
стыдно признаться, но проблему решил банальным off() :D
|
Цитата:
|
Часовой пояс GMT +3, время: 00:25. |