jQuery 1.8 find event handlers

2020-01-25 08:13发布

问题:

How to find event handlers on an object in jQuery 1.8+?

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

回答1:

Use the data function as is done by jQuery internally.

On previous versions, you could call it like for other data :

obj.data('events');

In jQuery 1.8, this direct access was removed, so in recent versions you must call it like this :

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

You can see it in action by opening the console in this fiddle : http://jsfiddle.net/8TpeP/2/



回答2:

to find event handlers of an element in jQuery 1.8+ you've got to do this way:

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