我在网页上有以下链接元素。我如何使用jQuery禁用它?似乎设置disabled属性不会禁用它。
<A style="COLOR: black" href="javascript:__doPostBack('GridViewWithLinkqToSQL','Page$20')">20</A>
编辑1:答案(带有功能齐全的示例页代码)
最后,我能够启用/禁用链接。要启用,只需附加一个单击处理程序,其中禁用了默认的事件操作,并启用了删除相同的单击处理程序。在我的下面的代码中,Link1将打开yahoo主页,而当这两个链接都启用时,Link2将显示javascript错误。
带有必要的javascript / jQuery的Html页面代码如下。使用此方法,您可以启用/禁用div中的多个超链接(如在Grid控件中)。以下是视频的链接,该视频将显示禁用和启用链接非常有用的情况:Disable all hyperlinks within a GridView during AJAX Postback。您将在视频中注意到,当用户单击列标题链接或页码链接时,它不会执行任何操作,这是我们在发生长AJAX回发并且用户开始不耐烦地点击链接时所需要的。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Enable/Disable Links</title>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<body>
<div id="div1">
<a href="https://www.yahoo.com">Link1</a>
<a style="COLOR: black" href="javascript:__doPostBack('GridViewWithLinkqToSQL','Page$20')">Link2</a>
</div>
<input id="Button1" type="button" value="Disable Links" onclick="ToggleLinks(true);" />
<input id="Button2" type="button" value="Enable Links" onclick="ToggleLinks(false);" />
<script type="text/javascript">
function ToggleLinks(disabled) {
var div1 = $('#div1');
// div1.find("*").prop("disabled", disabled);
if (disabled) {
div1.find("a").each(function (i, element) {
$(this).click(function (e) {
e.preventDefault();
return false;
});
});
}
else {
div1.find("a").each(function (i, e) {
$(this).unbind("click");
});
}
}
</script>
</body>
</html>
答案 0 :(得分:3)
$('#your_link').click(function(e) {
e.preventDefault();
});
这是工作小提琴:http://jsfiddle.net/g5Mkj/
答案 1 :(得分:2)
链接上没有可以设置为禁用它的属性。您可以做的是删除它的href
属性。
$('#yourAnchorId').removeAttr('href');
或者您可以在其上设置取消事件传播的点击事件:
$('#yourAnchorId').click(function(event) {
event.preventDefault();
});