Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.05.2014, 16:17
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

Получить список событии навешенных на элемент
Уважаемые, не могу понять, каким образом можно получить список событии навешенных на элемент через on()? Пробовал такие варианты через консоль:
1) element.data('events');
2) $.data(element, 'events');
3) $._data(element, 'events');
4) $._data(element[0], 'events');
Все они возвращали undefined.
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 06.05.2014, 18:30
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

в jQuery.cache все хранится. Если это для отладки, то "Инструменты разработчика" в Chorme умеют показывать обработчики событий Elements>Event Listeners
Ответить с цитированием
  #3 (permalink)  
Старый 06.05.2014, 23:03
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

Octane,
не очень разборчиво чего-то там. Показывает, что на любом элементе висят обработчики ... Где истина?
Ответить с цитированием
  #4 (permalink)  
Старый 06.05.2014, 23:15
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Список не фильтруется при выборе элемента, там сразу все обработчики отображаются. Если раскрыть событие, будут видны элементы.
Ответить с цитированием
  #5 (permalink)  
Старый 06.05.2014, 23:24
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

да, навешенные события как бы видно, handler стоит как
function(b){return typeof o!==U&&o.event.triggered!==b.type?o.event.dispatch.apply(a,arguments):void 0}

ну ладно, допустим нашли обработчик, теперь как его оттуда удалить?
Ответить с цитированием
  #6 (permalink)  
Старый 07.05.2014, 09:36
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

Решение есть, с помощью такой конструкции можно проверить, есть ли у элемента обработчик:
if(typeof($._data(element[0], "events").click) === 'object'){return false;}
НО! этот метод не работает на новые элементы принятые аяксом. Как можно обойти?
Ответить с цитированием
  #7 (permalink)  
Старый 07.05.2014, 09:47
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Octane
Список не фильтруется при выборе элемента
почему это? фильтруется. справа вверху есть кнопка фильтра. Там можно выбрать: показывать все слушатели или только для выбранного нода
Ответить с цитированием
  #8 (permalink)  
Старый 07.05.2014, 09:57
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

между прочим, Event Listener Хрома также не видит новые элементы ...
Ответить с цитированием
  #9 (permalink)  
Старый 08.05.2014, 13:58
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

стыдно признаться, но проблему решил банальным off()
Ответить с цитированием
  #10 (permalink)  
Старый 08.05.2014, 14:03
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от pro_xaoc
стыдно признаться, но проблему решил банальным off()
я хотел тебе написать, но влом было авторизовываться
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить список элементов в localStorage? Бобр Общие вопросы Javascript 8 17.09.2013 13:32
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 10:33
Получить список всех css-свойств и их возможных значений, поддерживаемые браузером Denisko-Redisko Общие вопросы Javascript 7 03.01.2012 01:33
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 12:20
Как получить список всех установленных плагинов VitAngel Internet Explorer 0 15.07.2009 08:13