我有一个链接按钮内<td>,我必须禁用。这适用于IE,但不适用于Firefox和Chrome。
我尝试了以下所有方法,但在Firefox(使用1.4.2 js)上都无法工作:
$(".myLink").attr('disabled', 'disabled');
$(".myLink").attr('disabled', true);
$(".myLink").attr('disabled', 'true');
注意-我不能注销锚标记的点击功能,因为它是动态注册的。我必须在禁用模式下显示链接。
我最终得到了下面的解决方案,它可以使用一个属性,<a href="…"disabled ="disabled">,或一个类<a href="…" class="disabled">:
CSS样式:
a[disabled=disabled], a.disabled {
color: gray;
cursor: default;
}
a[disabled=disabled]:hover, a.disabled:hover {
text-decoration: none;
}
Javascript(在jQuery准备好):
$("a[disabled], a.disabled").on("click", function(e){
var $this = $(this);
if ($this.is("[disabled=disabled]") || $this.hasClass("disabled"))
e.preventDefault();
})
试试这个元素:
$(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”。