您可以选择所有元素并遍历它们的事件集合,寻找您感兴趣的事件:
jQuery.each($('#someElementId').data('events'), function(i, event){
jQuery.each(event, function(i, handler){
console.log( handler.toString() );
});
});
不确定它是否适用于 jquery 1.8
更新:这是我放在一起的一个例子:http: //jsfiddle.net/nicholmikey/sADZU/5/
<html>
<body>
<form method="post" action="#">
<input type="submit" value="Submit" onClick="return false">
</form>
</body>
</html>
和jQuery(1.7.2):
$('input').bind('something_added', function() {});
$.each($('*'), function(i, events) {
var events = $(this).data('events');
if (events != null) {
$.each(events, function(h, event) {
alert(event[0].type);
});
}
});
一旦找到具有您要查找的事件的元素,您可以使用 $(this) 因为它与 each($('*')) 相关,并执行您要执行的工作