是否可以使用jQuery确定元素是否具有单击处理程序,更改处理程序或绑定到其的任何类型的事件处理程序?
此外,是否可以确定给定类型的事件有多少个单击处理程序(或任何类型的事件处理程序),以及事件处理程序中包含哪些功能?
您可以从数据缓存中获取此信息。
例如,将它们记录到控制台(firebug,即ie8):
console.dir( $('#someElementId').data('events') );
或迭代它们:
jQuery.each($('#someElementId').data('events'), function(i, event){ jQuery.each(event, function(i, handler){ console.log( handler.toString() ); }); });