如何将相同的元素用于触发onclick事件的函数

时间:2015-05-08 11:34:31

标签: javascript jquery

我在外部文件中使用以下编码

function DiableLink(elem){
   console.log($(elem).attr('type'));
   if($(elem).hasClass('disabled')) {
       return false;
   }
   else {
       $(elem).addClass('disabled');
   }
}

在html中使用如下

<a onClick="DiableLink(this);" class="hid" href="somelink.jsp"></a>


我使用ID使用相同的函数,如下所示

$(function(){
   $('.hid').click(function(){
      var link = $(this);
      if(link.hasClass('disabled')) {
         return false;
      }
      else {
         link.addClass('disabled');
      }
  }); 
});

这是完美的工作(我从stackoverflow得到它)。 但是我不知道为什么打电话给onclick事件并不起作用。请任何人可以帮忙吗?哪里出错了

2 个答案:

答案 0 :(得分:0)

如果使用事件处理程序而不是函数,则需要将onclick="" atrribute保持为空。

<强> Demo

答案 1 :(得分:0)

编辑:您的解决方案实际上适用于JS Bin

我写道:

  

我在href中调用函数:

<a href="javascript: yourFunction(); location.href='newpage.js';">Click</a>

但是如果你想通过href属性传递anchor标签元素,它将不起作用。所以这将 NOT 工作:

<a href="javascript: yourFunction(this); location.href='newpage.js';">Click</a>

在这种情况下,您必须使用onclick事件(内联或单独的文件,如我之前所写)。