Gnr*_*zik 76 javascript jquery javascript-events
试图在线搜索,但看起来我不能正确地制定搜索查询.
听起来很简单,我怎么能用jquery或javascript列出所有附加到元素/文档/窗口或存在于dom中的处理程序或事件监听器.
就是想.
先感谢您.
Lai*_*jus 47
在1.8之前的jQuery中,尝试使用 $("#element").data("events")
编辑:
还有jQuery扩展:listHandlers
Luk*_*uke 32
在调试时,如果你想看看是否有事件,我建议使用Chrome的开发者工具的Visual Event或Elements部分:选择一个元素并在右下方查找"事件监听器".
在您的代码中,如果您在1.8版之前使用jQuery,则可以使用:
$(selector).data("events")
Run Code Online (Sandbox Code Playgroud)
得到事件.从版本1.8开始,这已经停止(请参阅此错误凭单).您可以使用:
$._data(element, "events")
Run Code Online (Sandbox Code Playgroud)
但不建议这样做,因为它是一个内部jQuery结构,并且可能在将来的版本中发生变化.
这个问题有一些可能有用的答案,但它们都没有像现在这样特别优雅$(selector).data("events")
.
小智 17
没有jQuery:
如果使用elem.addEventListener()方法添加侦听器,则列出这些侦听器并不容易.您可以通过使用自己的方法包装它来覆盖EventTarget.addEventListener()方法.然后您将获得有关已注册的听众的信息.
var f = EventTarget.prototype.addEventListener; // store original
EventTarget.prototype.addEventListener = function(type, fn, capture) {
this.f = f;
this.f(type, fn, capture); // call original method
alert('Added Event Listener: on' + type);
}
Run Code Online (Sandbox Code Playgroud)
您可以在http://jsfiddle.net/tomas1000r/RDW7F/找到工作示例
归档时间: |
|
查看次数: |
71448 次 |
最近记录: |