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

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

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

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

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

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


当前回答

在Razor (.cshtml)你可以做:

@{
    var isDisabled = true;
}

<a href="@(isDisabled ? "#" : @Url.Action("Index", "Home"))" @(isDisabled ? "disabled=disabled" : "") class="btn btn-default btn-lg btn-block">Home</a>

其他回答

在css中得到修复。

td.disabledAnchor a{
       pointer-events: none !important;
       cursor: default;
       color:Gray;
}

以上css应用于锚标记时将禁用点击事件。

详情请查看此链接

你不能禁用一个链接,如果你想点击事件不应该触发,然后简单地删除该链接的动作。

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

有关更多信息:-元素可以被禁用

试试这个元素:

$(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”。

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

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

我会这样做

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

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

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