2010-07-09 91 views
5

目前我已经在我的网页之一下面的代码页面级调用两个JavaScript的功能的onclick

<a href="http://ex.com" onclick="return popitup2()">Grab Coupon</a> 

现在我要运行它以下列方式使用一个以上的脚本 -

onClick="recordOutboundLink(this, 'Outbound Links', 'ex.com');return false;" 

现在有人能告诉我如何在链接被点击时调用这两种javacsripts。提前致谢。

回答

9

可以调用两个功能在onclick事件处理程序:

<a href="http://ex.com" onclick="popitup2(); recordOutboundLink(this, 'Outbound Links', 'ex.com'); return false;">Grab Coupon</a> 

为了避免与混合标记的JavaScript我建议你安装的onclick事件为这样的特定链接:

<a href="http://ex.com" id="mylink">Grab Coupon</a> 

而在在head部分:

<script type="text/javascript"> 
window.onload = function() { 
    var mylink = document.getElementById('mylink'); 
    if (mylink != null) { 
     mylink.onclick = function() { 
      var res = popitup2(); 
      recordOutboundLink(this, 'Outbound Links', 'ex.com'); 
      return res; 
     }; 
    } 
}; 
</script> 
+0

我很确定你想返回'popitup2()'来维护OP的当前功能。 – 2010-07-09 07:40:24

2

在您的链接指定两者:

<a href="http://ex.com" onclick="recordOutboundLink(this, 'Outbound Links', 'ex.com'); return popitup2();">Grab Coupon</a> 
+2

此语法似乎是错误的。你不能在'onclick'处理程序中有多个'return'语句,或者至少它不好。 – 2010-07-09 07:39:49

+0

@Darin Dimitrov:好点,已更新。谢谢 – Sarfraz 2010-07-09 07:41:03

+0

没有在函数recordOutboundLink返回false将它以同样的方式工作? – ayush 2010-07-09 08:12:33

1

你可以用一个封闭做到这一点:

<a href="http://ex.com" onclick="return function(){ recordOutboundLink(this, 'Outbound Links', 'ex.com'); return popitup2(); }()">Grab Coupon</a> 

或只是一些更好的排序:

<a href="http://ex.com" onclick="recordOutboundLink(this, 'Outbound Links', 'ex.com');return popitup2();">Grab Coupon</a>