使用 jquery 将点击事件启用到锚点中

Enable click event into an anchor with jquery

我必须链接(锚点),我想在单击另一个时启用和禁用每个链接。

这是主播之一:

<a href="#" id="lnkAddNew" onclick="addNewComment()">
    <i class="glyphicon glyphicon-plus"></i>Add New
</a>

然后我有一个方法可以像这样禁用它:

$('#lnkAddNew').prop('onclick', null).off('click');

但是后来我想再次启用点击,但我不想执行事件,我只想启用它以供使用,所以当我这样做时我不仅启用(或绑定)了单击事件但执行也是如此:

$('#lnkAddNew').prop('onclick', addNewComment).on('click');

最后一行如何避免执行点击事件,我只想绑定点击事件

谢谢

jQuery 有一个注册事件处理器的方法:.on().

要取消注册特定的处理程序,诀窍是将其作为命名函数...
您只需将函数名称作为 .off().

的第二个参数传递

function disableLinks(){
  console.log("CLICK!");
  $(".disableToggle").off("click",disableLinks);
}

$(".disableToggle").on("click",disableLinks);

$("#restore").on("click",function(){
  $(".disableToggle").on("click",disableLinks);
});
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="#" id="lnkAddNew" class="disableToggle">
    <i class="glyphicon glyphicon-plus"></i>Add New
</a><br>
<br>
<a href="#" id="lnkAddAnother" class="disableToggle">
    <i class="glyphicon glyphicon-plus"></i>Add another
</a><br>
<br>
<button type="button" id="restore">Restore the click handler</button>