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

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

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


当前回答

以下是禁用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 ()

其他回答

HTML:

<a href="/" class="btn-disabled" disabled="disabled">123n</a>

CSS:

.btn-disabled,
.btn-disabled[disabled] {
  opacity: .4;
  cursor: default !important;
  pointer-events: none;
}

让父类有指针事件:none将禁用子类a标签,如下所示(要求div覆盖a并且宽度/高度不为0):

<div class="disabled">
   <a href="/"></a>
</div>

地点:

.disabled {
    pointer-events: none;
}

在我的情况下,我使用

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

我有一个:

<a href="#">This is a disabled tag.</a>

希望对你有所帮助;)

适合我的变体:

<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>