11

可能重复:
如何在 DOM 节点上查找事件侦听器?

给定一个元素,比如说 a div,是否可以获得绑定到该元素触发的特定事件的处理程序列表?

/* pseudo code: click on a div handlers? */
document.getElementById('myDiv').getHandlers('click');

编辑

好的,这里有更多细节。我想将点击处理程序绑定到 div,除非另一个处理程序已经绑定到 div。我想到的是以下内容:

/* pseudo code: click on a div handlers? */
if(!document.getElementById('myDiv').getHandlers('click'))
   document.getElementById('myDiv').addEventListener('click', myEventhandler);
4

1 回答 1

10

不,使用 DOM 方法是不可能的。

但是,一些库将它们绑定的所有处理程序存储在与元素相关的数据结构中,以启用诸如unbindAll.

于 2012-11-12T23:36:06.617 回答