2011-10-18 48 views

回答

24

对于那些寻找一个切实可行的解决办法,请参阅:How to find event listeners on a DOM node when debugging or from the JavaScript code?


EventListenerList对象是DOM 3事件的一些旧的草案,并长期从规范中删除。据我所知,至少Gecko仍然没有像常规网页这样的东西,尽管它现在有an API for privileged code (extensions) to enumerate listeners(见https://bugzilla.mozilla.org/show_bug.cgi?id=570678#c0)。

我浏览了W3C的邮件列表,并且就这个主题进行了一些讨论,但是显然没有发现用例证明这个功能的合理性。这是我能找到的最新消息:

[...]根本不需要添加此功能的动机是什么?以前,工作组决定删除缺少用例的相关但功能较弱的 hasEventListenerNS方法,并且因为 存在潜在的安全问题。

(2001)http://lists.w3.org/Archives/Public/w3c-wai-ua/2001OctDec/thread.html#msg89在考虑EventListenerList时有一些讨论。

(2006)http://lists.w3.org/Archives/Public/www-archive/2006Mar/0032.html向quirksmode的作者问了一个问题,他似乎是负责DOM3 EventListenerList有关这种功能的使用情况的神话;档案没有列出答复。

(2008)另一个讨论:http://lists.w3.org/Archives/Public/public-webapi/2008Apr/thread.html#msg66

+0

如果处理程序使用一个JS库注册或你想要这个用于调试,看到这个问题的答案:http://stackoverflow.com/questions/446892/how -to-find-event-listeners-on-a-dom-node – Nickolay

+1

如果任何人的状态是最新的,那么更新会很棒。现在是2015年:) –

+1

我的用例是克隆一个元素及其事件监听器。这怎么不是一个明显的用例? –

相关问题