如何确定JavaScript事件处理函数的名称?

时间:2010-01-19 23:23:18

标签: javascript dom

我在html页面上看到了一些锚元素,如此

<a href="javascript:void(0);" class="clickable">Click me</a>;

该页面在页面加载时将JavaScript事件处理程序分配给anchor元素。页面加载后,我可以单击anchor元素来激活JavaScript操作。

我想以编程方式触发锚点的事件处理函数,但我无法确定事件处理程序的函数名称,因为相关的外部JavaScript文件已被压缩,因此很难跟踪代码。压缩模糊了所有变量/函数名称,并将所有内容放在一行上。

有人可以建议我以编程方式触发锚点的onclick事件处理程序吗?

由于

2 个答案:

答案 0 :(得分:2)

回答标题中的问题:不,你不能。你无法得到这个名字,因为甚至可能没有一个名字 - 为此目的使用匿名函数变得非常普遍。

关于第二个问题的答案,请参阅:

  

How can I programmatically invoke an onclick() event from a anchor tag while keeping the ‘this’ reference in the onclick function?

答案 1 :(得分:0)

替代解决方案是否可行?点击链接调用它的处理程序来模拟用户点击,而不是试图找到处理程序?

jQuery中有类似的东西:

$("a.clickable:first").click();

更新:以下是一个展示DOM如何运作的工作示例:

<html>
 <head></head>
 <body>
  <a href="javascript:void(0)" onclick="alert('I'm an alert!')">Click me</a>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script type="text/javascript">
   $(function() { $('a').click(); });
  </script>
 </body>
</html>