帮助!如何使用 IE Dom 接口获取事件处理程序?

Posted

技术标签:

【中文标题】帮助!如何使用 IE Dom 接口获取事件处理程序?【英文标题】:Help! How to get the event handler with IE Dom interfaces? 【发布时间】:2011-02-23 23:23:49 【问题描述】:

我正在努力使用 IE Dom 接口来自动化 IE 页面访问。我正在尝试获取页面中定义的所有事件处理程序。我现在为此目的使用 IhtmlElement 对象。如果 html 页面定义了“onclick=xxx”,element.onclick 返回点击处理程序。但是,如果在 javascript 中定义了事件处理程序,element.onclick 只会返回 NULL。那么获取事件处理程序的正确方法是什么?

谢谢, 辛

以下是使用 javascript 定义事件处理程序的示例。

<!doctype html>
<html>
  <head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript"> </script>
  </head>
  <body>
    <script>
      $(document).ready(function()
        $("a").click(function(event)
          $(this).hide("slow");
          alert("Thanks for visiting!");
          window.location="http://cnn.com";
        );
      );
    </script>
    <a>jQuery</a>
  </body>
</html>

【问题讨论】:

***.com/questions/446892/… 【参考方案1】:

这是不可能的。

【讨论】:

感谢您的回复。为什么不可能?我在 IE 中加载了 IE DOM 检查器。它能够检测到 元素具有关联的 'jQuery123123="1"' 属性。这似乎表明它抓住了一些东西。我不需要知道事件处理程序的细节,只想知道是否附加了处理程序。想法? @usfree74:对于 jQuery,您可以查询其内部数据结构以查找事件。 (注意有三个不同的版本) 但是,完全找不到通过attachEvent注册的事件。

以上是关于帮助!如何使用 IE Dom 接口获取事件处理程序?的主要内容,如果未能解决你的问题,请参考以下文章

深入理解DOM事件机制系列第二篇——事件处理程序

事件对象——IE中的事件对象

event对象

JS事件程序处理

IE 的事件对象(event)

js如何清除所有绑定的事件?