使用 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>
我必须链接(锚点),我想在单击另一个时启用和禁用每个链接。
这是主播之一:
<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>