如何在jquery中禁用锚标记?

时间:2014-04-30 10:31:13

标签: jquery button anchor

此处,如何使用按钮标签禁用此链接?是否可以?



 <a href="http://www.google.com">
    <button>click here for go to yahoo</button>
</a>
&#13;
&#13;
&#13;

5 个答案:

答案 0 :(得分:12)

在运行时提供ID并禁用。

<强> HTML

<a id="disableanchor" href="http://www.google.com">
        <button id="buttononclickdisable">click here for go to yahoo</button>
</a>

Javascript

$('#buttononclickdisable').click(function(){
     $('#disableanchor').attr("disabled","disabled");
});

或删除“点击”事件监听器。

$("#anchorid").off('click');

答案 1 :(得分:3)

基本上禁用它,您可能会这样做:

$("a[href='http://www.google.com']").click(function(e) {
  e.preventDefault();
});

但是如果你在选择器中添加了一个类或id并将其作为目标,那么它会更清晰,更精确。而这实际上是阻止动作发生,它不处理状态的管理,因此很明显链接在点击时不起作用。

答案 2 :(得分:1)

令人惊讶的是,由于锚标签没有禁用的属性(与输入标签,选择标签,文本区域标签等相反),这并不是一件简单的事情。

我经常使用的解决方法是首先定义一个指针事件设置为none(CSS)的类:

.disable-click{
    pointer-events:none;
}

然后,我使用Jquery(1.0+)通过添加/删除先前定义的类来禁用/启用所讨论的锚标记的“可点击性”:

$("#my-a-tag-id").addClass("disable-click");
$("#my-a-tag-id").removeClass("disable-click");

答案 3 :(得分:0)

您可以执行以下操作:

从定位标记中删除“ href”属性($ target将是您的定位标记):

$target.removeAttr('href');

答案 4 :(得分:0)

 $('#disableanchor').attr("disabled","disabled");// is not working with anchor tag

$("#anchorid").off('click'); //this is working