可能的重复项:
如何在 DOM 节点上查找事件侦听器?
给定一个元素,比如说一个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);
不,DOM 方法是不可能的。
但是,某些库将它们绑定的所有处理程序存储在与元素关联的数据结构中,以启用unbindAll
等方法。