有没有任何通用的方法来使用javascript来检测javascript事件处理程序? 例如,我想在事件处理程序触发之前做一些事情,所以当激活事件时,我想首先执行我的代码然后执行事件处理程序代码。
问题是注册事件处理程序有多种方法,我想处理所有这些:html,javascript
答案 0 :(得分:0)
不,没有。
您可以挂钩addEventListener
和removeEventListener
,这将允许您通过JS代码拦截事件侦听器的注册和调用。但是,这不会捕获以elt.onclick
等方式设置的事件侦听器。它当然也不会捕获通过旧的IE attachEvent
API设置的监听器。最重要的是,对于您在内部生成和侦听的事件(例如在复选框上单击鼠标)将无法帮助您。
您可能会以类似的方式挂钩createEvent
和dispatchEvent
,但这只会捕获在JS代码中显式创建或调度的事件。