是否有可能获得绑定到jQuery中的元素的事件列表?

ape*_*ari 6 jquery events binding elements

正如问题所说,我需要绑定到特定元素的事件列表.

我的意思是点击,鼠标悬停等事件在加载dom时绑定到该元素.

(愚蠢)例子:

$("#element").click(function()
{
    //stuff
});
$("#element").mouseover(function()
{
    //stuff
});
$("#element").focus(function()
{
    //stuff
});
Run Code Online (Sandbox Code Playgroud)

结果:

点击,鼠标悬停,焦点

jan*_*mon 13

每个事件都添加到一个数组中.

可以使用jQuery数据方法访问此数组:

$("#element").data('events')
Run Code Online (Sandbox Code Playgroud)

要将一个对象的所有事件记录到fireBug,只需键入:

console.log ( $("#element").data('events') )
Run Code Online (Sandbox Code Playgroud)

您将获得所有绑定事件的列表.


更新:

对于jQuery 1.8及更高版本,您必须查看内部jQuery数据对象:

$("#element").each(function(){console.log($._data(this).events);});
// or
console.log($._data($("#element")[0]).events);
Run Code Online (Sandbox Code Playgroud)