正如问题所说,我需要绑定到特定元素的事件列表。
我的意思是点击,鼠标悬停等事件在加载dom时绑定到该元素。
(愚蠢)示例:
$("#element").click(function()
{
//stuff
});
$("#element").mouseover(function()
{
//stuff
});
$("#element").focus(function()
{
//stuff
});
结果:
点击, 鼠标移到, 焦点
答案 0 :(得分:13)
每个事件都会添加到数组中。
可以使用jQuery数据方法访问此数组:
$("#element").data('events')
要将一个对象的所有事件记录到fireBug,只需输入:
console.log ( $("#element").data('events') )
您将获得所有绑定事件的列表。
更新
对于 jQuery 1.8 及更高版本,您必须查看内部jQuery数据对象:
$("#element").each(function(){console.log($._data(this).events);});
// or
console.log($._data($("#element")[0]).events);
答案 1 :(得分:2)
您可以element.data('events');
访问它。例如:
var events = element.data('events');
for (var type in events) {
// `type` is "click", "mouseover", "change", etc.
for (var handler in events[type]) {
// `handler` is the associated function.
}
}