JQuery 1.8 найти обработчики событий

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

var func = function(){ alert(1); };
var obj = $('#obj');
obj.on("click", func);
// obj.data('events') is undefined

Ответ 1

Используйте функцию данных как это делает jQuery внутри.

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

obj.data('events');

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

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

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

Ответ 2

чтобы найти обработчики событий для элемента в jQuery 1.8+, вам нужно сделать так:

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