是否可以在JavaScript(不是jQuery)中获取与DOM元素关联的事件?

Is it possible to get Events associated with a DOM Element in JavaScript(not jQuery)

本文关键字:DOM 获取 元素 关联 事件 JavaScript jQuery 不是 是否      更新时间:2023-09-26

我有一个脚本文件,它将即时注入到任何网站。我无法访问该网站代码。我想做的是,当有人单击网页的任何元素时,应该显示与该元素关联的事件列表。

在 DOM 3 规范中,前面提到添加 EventListenerList。但不幸的是,它已从规范中删除。

我已经检查了视觉事件 2。但是他们只能窃取自定义库的事件和带有 on 属性的 DOM 事件。

在jQuery 1.8+中,我们也可以使用以下方法轻松访问元素的事件

$._data(element,'events');

在 chrome 中,我们可以通过以下方式访问它

getEventListeners(element)

如果我可以访问网页,那么我可以覆盖原型的addEventListener方法,例如

HTMLElement.prototype.realAddEventListener = HTMLElement.prototype.addEventListener;                              
HTMLElement.prototype.addEventListener = function(a,b,c){ 
    this.realAddEventListener(a,b,c); 
    //do whatever want
};

但我的情况并非如此,因为我无法在事件侦听器绑定之前注入此代码。 任何人都可以为香草JS帮助我吗?

你可以

用javascript DOM(没有JQuery)处理你的事件

document.getElementById('my_element').onclick=function(event){
    //TO DO: the behavior of your action
}

我希望我的回答会有所帮助