我有一个我不想点击的链接,所以我创建了以下代码:
<a class="not-allowed" id="new-user" href="users/new">New</a>
<script>
$('.not-allowed').click(false);
</script>
在一些用户操作之后,我希望链接是可点击的,所以我使用以下代码:
$('#new-user').removeClass("not-allowed");
成功删除“不允许”类,但链接仍然无法点击。我不想让所有“不允许”点击,因为页面上还有更多内容仍然不应该被点击。如何使链接可以点击?
答案 0 :(得分:3)
要停用链接,请参阅this question接受的答案。
要使这样的禁用链接再次可单击,不仅需要删除该类,而且还需要取消绑定禁用该链接的处理程序:
$('new-user').removeClass('not-allowed');
$('new-user').off('click');
答案 1 :(得分:2)
选项是将事件委托给锚点的公共父级。例如,如果#test
是他们的祖先:
$('#test').on('click', '.not-allowed', false);
使用此功能,您可以自由添加或删除该类,而无需管理每个元素的单个单击事件。
答案 2 :(得分:0)
问题在于,当您调用$('.not-allowed').click(false);
时,它会向该元素添加一个事件处理程序。删除该类不会删除该事件处理程序。所以解决方案是删除事件处理程序。您可以通过添加:
$( "#new-user" ).unbind();
删除班级名称的任何地方。
答案 3 :(得分:0)
我发现有两件事是错的,一件可能只是你问题上的错字。
首先,您要删除课程的选择器是&#39; new-user&#39;,它应该是&#39; #new-user&#39;。
其次,即使该类已被删除,click事件处理程序仍然绑定到该链接。
要删除click事件处理程序,您可以执行以下操作:
$('#new-user').off('click');