Javascript jQuery事件侦听

Javascript jQuery事件侦听,javascript,jquery,Javascript,Jquery,基本上,我希望能够从FireBug调用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=

基本上,我希望能够从FireBug调用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) );
  });*/
}
可能的解决方案:
*我在考虑遍历每个元素并创建一个事件,将元素的原始事件作为对象保存,但是我希望有一个更简单的方法。
*如果存在一种方法,可以侦听从对象触发的事件而不覆盖当前事件绑定,则最好使用该方法。

您可以使用以下方法:

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
});
由于所有事件都使用冒泡阶段,文档将捕获它们,

编辑: 正如jimbojw提到的,将不会捕获名为event.stopPropagation的事件!

只要没有处理程序调用stopPropagation(),即:/n您的代码工作正常,那么糟糕的是,代码捕获了firebug中的事件以及我感兴趣的页面中的事件。