Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找到添加了自定义事件侦听器的位置?_Javascript_Dom_Events_Dom Events - Fatal编程技术网

Javascript 如何找到添加了自定义事件侦听器的位置?

Javascript 如何找到添加了自定义事件侦听器的位置?,javascript,dom,events,dom-events,Javascript,Dom,Events,Dom Events,页面上的“友好”iframe中运行着一段第三方代码。代码可能会也可能不会将自己的自定义事件的侦听器添加到外部页面上的任何元素,或者页面上某个iframe中(在它们的窗口、文档或dom元素上) 我知道自定义事件的名称,但如何知道侦听器已添加到何处?这里有一个选项-覆盖标准实现: var addEventListenerImplementation=Node.prototype.addEventListener; Node.prototype.addEventListener=函数(事件,回调){

页面上的“友好”iframe中运行着一段第三方代码。代码可能会也可能不会将自己的自定义事件的侦听器添加到外部页面上的任何元素,或者页面上某个iframe中(在它们的窗口、文档或dom元素上)


我知道自定义事件的名称,但如何知道侦听器已添加到何处?

这里有一个选项-覆盖标准实现:

var addEventListenerImplementation=Node.prototype.addEventListener;
Node.prototype.addEventListener=函数(事件,回调){
警报(“嘿,有人给我附加了事件处理程序”);
addEventListenerImplementation.call(this、event、callback);
};
document.getElementById(“div”).addEventListener(“单击”,函数)(){
警报(“点击”);
});
div{
背景:红色;
宽度:300px;
高度:300px;
}

查看iframe沙盒为什么需要知道它添加到了哪里?不确定这是否仅从javascript就可以实现,但您可以使用Chrome开发工具。检查您怀疑有事件侦听器连接到的元素,并找到“样式”选项卡旁边的“事件侦听器”选项卡。@Halcyon我还想为同一事件添加一个侦听器,所以在我的代码中,当事件被触发时,我可以做一些事情。@NikolaDimitroff谢谢,但我试图避免以这种方式遍历所有数百个元素。dom在我工作时也在变化,所以不能确定我是否遗漏了什么。