我有一个链接按钮内<td>,我必须禁用。这适用于IE,但不适用于Firefox和Chrome。

我尝试了以下所有方法,但在Firefox(使用1.4.2 js)上都无法工作:

$(".myLink").attr('disabled', 'disabled');

$(".myLink").attr('disabled', true);

$(".myLink").attr('disabled', 'true');

注意-我不能注销锚标记的点击功能,因为它是动态注册的。我必须在禁用模式下显示链接。


当前回答

禁用在触摸设备上访问另一个页面的链接:

if (control == false)
  document.getElementById('id_link').setAttribute('href', '#');
else
  document.getElementById('id_link').setAttribute('href', 'page/link.html');
end if;

其他回答

禁用在触摸设备上访问另一个页面的链接:

if (control == false)
  document.getElementById('id_link').setAttribute('href', '#');
else
  document.getElementById('id_link').setAttribute('href', 'page/link.html');
end if;

试试这个元素:

$(td).find('a').attr('disabled', 'disabled');

禁用一个链接为我在Chrome: http://jsfiddle.net/KeesCBakker/LGYpz/。

Firefox似乎运行得不太好。这个例子是有效的:

<a id="a1" href="http://www.google.com">Google 1</a>
<a id="a2" href="http://www.google.com">Google 2</a>

$('#a1').attr('disabled', 'disabled');

$(document).on('click', 'a', function(e) {
    if ($(this).attr('disabled') == 'disabled') {
        e.preventDefault();
    }
});

注意:为未来禁用/启用的链接添加了'live'语句。 注2:将“live”改为“on”。

Bootstrap 4.1提供了一个名为disabled的类和aria-disabled="true"属性。

例子”

<a href="#" 
        class="btn btn-primary btn-lg disabled" 
        tabindex="-1" 
        role="button" aria-disabled="true"
>
    Primary link
</a>

更多内容请访问getbootstrap.com

如果你想动态地创建它,你不想关心它是button还是ancor than 在JS脚本中你需要这样的东西

   let $btn=$('.myClass');
   $btn.attr('disabled', true);
   if ($btn[0].tagName == 'A'){
        $btn.off();
        $btn.addClass('disabled');
        $btn.attr('aria-disabled', true);
   }

但是要小心

该解决方案仅适用于具有btn btn-link类的链接。

有时bootstrap建议使用card-link类,在这种情况下解决方案将不起作用。

我会这样做

$('td').find('a').each(function(){
 $(this).addClass('disabled-link');
});

$('.disabled-link').on('click', false);

像这样的东西应该有用。您为想要禁用的链接添加一个类,然后在有人单击它们时返回false。要启用它们,只需删除该类。

我认为很多人都想多了。添加一个你想要的类,比如disabled_link。然后使css具有.disabled_link {display: none} 现在用户不能看到链接,所以你不必担心他们点击它。如果他们做了一些事情来满足链接是可点击的,只需删除类jQuery: $("a.disabled_link"). removeclass ("super_disabled")。做得繁荣!