微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 更新:如何在原型中的DOM节点上查找事件侦听器?

我正在寻找 this question的最新答案.

似乎在Prototype 1.6中不再使用Event.observers(可能是为了避免内存泄漏),那么如何追踪哪些事件监听器附加到元素?

我知道Firebug有一个“下一个中断”按钮,但是在我可以获得我想要的另一个特定元素的行为之前,body元素上有几个鼠标侦听器,所以还有其他方法吗?

解决方法

我更新了答案 you linked to,更全面的Prototype覆盖率考虑了版本1.6.0到1.6.1的变化.

它之间非常混乱,但1.6.1有点干净:

var handler = function() { alert('clicked!') };
$(element).observe('click',handler);

// inspect
var clickEvents = element.getStorage().get('prototype_event_registry').get('click');
clickEvents.each(function(wrapper){
    alert(wrapper.handler) // alerts "function() { alert('clicked!') }"
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐