我在这个链接上绑定了两个事件处理程序:
<a href='#' id='elm'>Show Alert</a>
JavaScript:
$(function()
{
$('#elm').click(_f);
$('#elm').mouseover(_m);
});
function _f(){alert('clicked');}
function _m(){alert('mouse over');}
有没有办法得到一个元素上绑定的所有事件的列表,在这种情况下,元素与id="elm"?
在现代版本的jQuery中,您可以使用$。_data方法来查找由jQuery附加到相关元素的任何事件。注意,这是一个内部使用的方法:
// Bind up a couple of event handlers
$("#foo").on({
click: function(){ alert("Hello") },
mouseout: function(){ alert("World") }
});
// Lookup events for this particular Element
$._data( $("#foo")[0], "events" );
$.的结果。_data将是一个包含我们设置的两个事件的对象(下图展开mouseout属性):
然后在Chrome中,你可以右键单击处理函数,然后单击“查看函数定义”来显示它在代码中定义的确切位置。