jQuery 1.8查找事件处理程序

Edd*_*die 21 jquery event-handling jquery-1.8

如何在jQuery 1.8+中找到对象的事件处理程序?

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

Den*_*ret 30

内部使用jQuery完成的数据功能.

在以前的版本中,您可以像其他数据一样调用它:

obj.data('events');
Run Code Online (Sandbox Code Playgroud)

在jQuery 1.8中,这个直接访问被删除了,所以在最近的版本中你必须像这样调用它:

$._data(obj[0], "events")
Run Code Online (Sandbox Code Playgroud)

你可以通过在这个小提琴中打开控制台来看到它的运作:http://jsfiddle.net/8TpeP/2/


gig*_*DIE 5

要在jQuery 1.8+中查找元素的事件处理程序,您必须这样做:

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

  • 或简要地说:`$ ._ data($("YOUR-SELECTOR-HERE")[0],"events") (3认同)