Javascript:如何获取绑定到事件的事件处理程序列表

时间:2012-11-12 23:32:16

标签: javascript javascript-events event-handling

  

可能重复:
  How to find event listeners on a DOM node?

给定一个元素,让我们说一个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);

1 个答案:

答案 0 :(得分:7)

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

但是,有些库存储它们在与元素相关的数据结构中绑定的所有处理程序,以启用unbindAll之类的方法。