我正在寻找
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!') }" })