尽管该链接被禁用,但它仍然是可点击的。

<a href="/" disabled="disabled">123n</a>

如果它是禁用的,我可以使它不可点击吗?我应该使用JavaScript吗?


当前回答

适合我的变体:

<script>
  function locker(){
    if ($("a").hasClass("locked")) {
         $("a").removeClass('locked').addClass('unlocked');
         $("a").attr("onClick","return false");
    } else {
         $("a").css("onclick","true");
         $("a").removeClass('unlocked').addClass('locked');
         $("a").attr("onClick","");
    }
  }
</script>

<button onclick="locker()">unlock</button>

<a href="http://some.site.com" class="locked">
  <div> 
      .... 
  <div>
</a>

其他回答

<a href=“/” disabled=“true” onclick=“return false”>123</a>

只是补充:这在一般情况下工作,但它不会工作,如果用户已经在浏览器中禁用javascript。

1)你可以选择在你的锚标签上使用Bootstrap 3类来禁用href标签,在集成Bootstrap 3插件do之后

< href=“btn btn-primary disabled”>123n</a>

Or

2)学习如何在浏览器中使用html或js启用javascript。 或者创建一个弹出窗口,告诉用户在使用网站之前启用javascript

在我的情况下,我使用

<a href="/" onClick={e => e.preventDefault()}>

以下是禁用a标记的各种方法:

<a >链接文本</a>从锚标签中移除href <a href= " javascript:void(0) " />链接文本</a>在href中放入javascript:void(0) <a href="/" onclick="return false;">链接文本</a>使用返回false 因为锚标签没有被禁用的属性。 如果你想在jQuery函数中停止锚标记行为,你可以在函数的开头使用下面的行:

$( "a" ).click(function( e ) {
e.preventDefault();
$( "<div>" )
.append( "default " + e.type + " prevented" )
.appendTo( "#log" );
});

event.preventDefault ()

您需要删除<a>标记来摆脱这个。

或者试着使用:-

  <a href="/" onclick="return false;">123n</a>

我能够使用ng-href三元操作实现所需的结果

<a ng-href="{{[condition] ? '' : '/'}}" ng-class="{'is-disabled':[condition]}">123n</a>

在哪里

a.is-disabled{
   color: grey;
   cursor: default;

   &:hover {
      text-decoration: none;
   }
}