【问题标题】:How to check event Listeners on an element in IE9如何在 IE9 中检查元素上的事件侦听器
【发布时间】:2013-08-01 07:52:43
【问题描述】:

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

有没有办法检查 IE9 中的元素附加了哪些侦听器?

(代码也不在我可以分享的地方,所以我没有发布任何内容。)

编辑:事实证明我实际上使用的是原型 1.6.1,问题最终是由于不知道 IE9 和 IE10 不如

【问题讨论】:

  • console.log(myElem.onclick) ?然后测试尽可能多的事件监听器。
  • 还有一种方法可以在 web 检查器 (F12) 中查看 dom 元素对象的属性。不知道在哪里。
  • 我可以看到 dom 元素的属性,你只是不知道在哪里看。有什么想法吗?
  • stackoverflow.com/questions/446892/… 你可以在这里找到答案。

标签: javascript internet-explorer-9 prototypejs dom-events


【解决方案1】:

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

例如<div> id 为“mydiv”

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

通过observe()on() 这样的方法创建观察者后

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 2019-01-29
    • 2013-01-10
    相关资源
    最近更新 更多