jQuery事件监听
问题描述:
基本上我希望能够从FireBug调用jQuery,将代码监听页面上的所有事件触发,然后显示有关事件触发的信息,而无需了解页面结构或事件类型的任何信息具有。jQuery事件监听
var s = document.createElement('script');
s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
document.body.appendChild(s);
s.onload=function(){
// Bind a listening event without overwriting the original events
/* jQuery("*").[something](function(){
console.log (jQuery(this));
});*/
}
可能的解决方案:
*我想通过每一个元素去创造和保存为对象的事件元素的原始事件,但是我希望会有一个更简单的方法。
*如果存在一种侦听从对象触发的事件而不覆盖当前事件绑定的方法,那将是更可取的。作为jimbojw提到,所谓event.stopPropagation不会被捕获的事件 :因为所有事件使用冒泡阶段该文件将赶上他们, http://www.quirksmode.org/js/events_order.html
编辑
var arrEvent = ['blur','focus','focusin','focusout','load','resize','scroll','unload','click','dblclick','mousedown','mouseup','mousemove','mouseover','mouseout','mouseenter','mouseleave','change','select','submit','keydown','keypress','keyup','error'];
$(document).bind(arrEvent.join(' '), function(e){
// play with e
});
:
只要没有处理程序调用stopPropagation(),即:/ – jimbojw 2011-05-13 21:04:21
您的代码工作得体,糟糕的代码捕获萤火虫中的事件以及我感兴趣的页面中的事件。 – dunpealslyr 2011-09-09 23:55:30