如何在IE9中检查元素上的事件侦听器

How to check event Listeners on an element in IE9

本文关键字:事件 侦听器 元素 检查 IE9      更新时间:2023-09-26

我有一个页面,在一个表中有一些td元素,用户可以单击并拖动这些元素来重新排序。该页面是使用原型构建的。在IE9之外的所有应用程序中,这都是有效的,但在IE9中,当我尝试点击和拖动时,我只会突出显示页面上的一些内容。我怀疑处理程序实际上并没有附加到td元素。

有没有一种方法可以检查IE9中元素附加了哪些侦听器?

(代码也不在我可以分享的地方,这就是为什么我没有发布任何代码的原因。)

编辑:事实证明,我实际上使用的是原型1.6.1,而问题最终是因为我不知道IE9和IE10没有<9.这将是一个比我想象的更大的解决方案。

最新的PrototypeJS(1.7.1)将事件观察器存储在事件缓存中

例如,id为"mydiv"的<div>

<div id="mydiv"></div>

在您通过observe()on()方法(如)创建观察者之后

$('mydiv').observe('click',function(){
    alert('Click Happened');
});

事件缓存的点击属性将设置为如下

Event.cache[$('mydiv')._prototypeUID].click

然而,这可能不是你的问题来源,因为你说它在除IE9之外的所有其他浏览器中都可以工作——有没有办法提取一些代码并将其放入JSFiddle中,然后发布链接?