Вопрос по event-handling, jquery, jquery-1.8 – jQuery 1.8 найти обработчики событий

21

Как найти обработчики событий для объекта в jQuery 1.8+?

var func = function(){ alert(1); };
var obj = $('#obj');
obj.on("click", func);
// obj.data('events') is undefined
кажется хорошим вопросом, вы можете проверить его на этой скрипке jsjsfiddle.net/968jj Blowsie

Ваш Ответ

2   ответа
30

как это делается внутри JQuery.

В предыдущих версиях вы могли назвать это как для других данных:

obj.data('events');

В jQuery 1.8этот прямой доступ был удаленпоэтому в последних версиях вы должны называть это так:

$._data(obj[0], "events")

Вы можете увидеть это в действии, открыв консоль в этой скрипке:http://jsfiddle.net/8TpeP/2/

это не работает в 1.8, проверьте это здесьjsfiddle.net/968jj
Спасибо. Узнал это сегодня. До сих пор знал только метод до 1.8.
у вас есть ссылка на рабочий пример?
@Blowie Да, я отредактировал после тестирования
5

вы должны сделать это следующим образом:

$._data($("YOUR-SELECTOR-HERE").get(0), "events")

или кратко:$._data($("YOUR-SELECTOR-HERE")[0], "events")

Похожие вопросы