如何处理网页中的所有事件

时间:2009-08-30 10:44:28

标签: javascript javascript-events

我希望收到有关网页中发生的所有事件的通知。

对于每个单一事件,我使用的是这样的:

if(document.addEventListener){
    document.addEventListener('click', function(e) { something(e) } , true);
}else{
    if(document.attachEvent){
        document.attachEvent('onclick', function(e) { something(e) });
    }
}

是否有一种简单的跨浏览器方式来获取有关网页中所有事件的通知,而不是单独监听每个事件(不使用jQuery)?

3 个答案:

答案 0 :(得分:2)

编写一个JavaScript应用程序,用于搜索HTML文档的标记以查找事件属性。然后,您可以以任何方式分析事件。可以使用xmlHttpRequest对象将输出写入当前页面或写入另一个文档。

答案 1 :(得分:1)

所有事件?我非常怀疑你是否考虑过事件冒泡以及将会产生多少噪音。

坚持使用离散的白名单绑定到您真正关心的内容。

答案 2 :(得分:1)

尝试在另一个调用所有通知操作的函数中调用作为参数传递的函数

function addEvent(ev,fun){
  var hand=function(e){
     alert(ev+" event"); //Or other notify operations
     fun();
  }
  if(document.addEventListener){
      document.addEventListener(ev, hand, true);
  }else{
      if(document.attachEvent){
          document.attachEvent(ev, hand);
      }
  }
}