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 
}); 

+2

只要没有处理程序调用stopPropagation(),即:/ – jimbojw 2011-05-13 21:04:21

+0

您的代码工作得体,糟糕的代码捕获萤火虫中的事件以及我感兴趣的页面中的事件。 – dunpealslyr 2011-09-09 23:55:30