我知道此问题之前已经得到解答,但所有答案都是针对浏览器特定的方法。我的问题很简单: 有没有办法监视所有被激活的事件(我需要的信息是被激活的事件和触发它的元素)来自Javascript?
我想过为所有事件和所有元素设置事件监听器,但这非常不实用,并且它不适用于自定义事件。
答案 0 :(得分:-1)
有些东西可以帮助你。
您可以使用Objects.observe监视对象
某些dom元素和event listeners也存在突变mutation observer。
但是,如果您确实需要监视所有事件,则可以重新定义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);
});
};
的更多信息