监视激发的Javascript事件(不考虑浏览器)

监视激发的Javascript事件(不考虑浏览器),javascript,Javascript,我知道这个问题以前已经回答过了,但所有的答案都是针对特定于浏览器的方法。我的问题很简单: 有没有一种方法可以使用Javascript监控所有激发的事件(我需要的信息是激发的事件和激发它的元素) 我曾想过为所有事件和所有元素设置事件侦听器,但这是非常不实际的,它无法用于自定义事件。有一些东西可以帮助您 您可以使用Objects.fo监视对象 某些dom元素和元素也会发生变异 但是,如果确实需要监视所有事件,可以重新定义addEvent函数。我假设您只需要在调试和测试某些东西时使用它,否则这样做并不

我知道这个问题以前已经回答过了,但所有的答案都是针对特定于浏览器的方法。我的问题很简单: 有没有一种方法可以使用Javascript监控所有激发的事件(我需要的信息是激发的事件和激发它的元素)


我曾想过为所有事件和所有元素设置事件侦听器,但这是非常不实际的,它无法用于自定义事件。

有一些东西可以帮助您

您可以使用Objects.fo监视对象

某些dom元素和元素也会发生变异

但是,如果确实需要监视所有事件,可以重新定义addEvent函数。我假设您只需要在调试和测试某些东西时使用它,否则这样做并不是一个好的实践

// The magic 
var oldAddEventListener = EventTarget.prototype.addEventListener;

EventTarget.prototype.addEventListener = function(eventName, eventHandler){
  // DO YOUR MAGIC
  oldAddEventListener.call(this, eventName, function(event) {
      // DO YOUR MAGIC
      eventHandler(event);
  });
};

有关

的更多信息与其收听所有事件,不如采用AOP方式,在所有事件侦听器上注入一个方面?