我有以下HTML。
<a id="SomeLink" title="My Title" href="http://stackoverflow.com">Click Here</a>
我想禁用点击此链接。就像在CSS或Jquery中有一种方法从这个链接中删除“href”所以它不可点击?
答案 0 :(得分:1)
你可以尝试这个,在准备好的处理程序中删除链接,你也可以在另一个触发事件处理程序中使用相同的链接。
$(function(){
$("#SomeLink").attr("href", "javascript:void(0);");
});
OR
$(function(){
$("#SomeLink").attr("href", "#");
});
答案 1 :(得分:1)
绑定一个不执行任何操作的单击处理程序,并通过返回false来禁用默认操作。
$('#SomeLink').click(function() {
return false;
});
也许这会允许您处理具有重复ID的元素:
$('a[id=SomeLink]').click(function() {
return false;
});
当您使用ID选择器时,jQuery使用getElementById
,它只会找到带有ID的第一个元素。也许使用通用属性选择器会绕过它并使用与ID属性匹配的循环。如果这不起作用,您可能必须编写一个过滤器:
$('a').filter(function() {
return this.id == 'SomeLink';
}).click(function() {
return false;
});
答案 2 :(得分:0)
答案 3 :(得分:0)
无法禁用链接。改为使用按钮。
<button disabled>click me</button>
如果要在单击链接时阻止默认行为,可以使用e.preventDefault()
$("a").on('click', function(e){
e.preventDefault();
});
答案 4 :(得分:0)
您可以在JS中使用以下代码。
$('#link').click(function(e){
e.preventDefault();
});
这个代码在你的CSS中。
#link{
text-decoration:none;
color: #ccc;
}
答案 5 :(得分:0)
我找到了一个我更喜欢的答案on this site.
看起来像这样:
$(document).ready(function(){
$("a#SomeLink").click(function () {
$(this).fadeTo("fast", .5).removeAttr("href");
});
});
启用包括设置href
属性
$(document).ready(function(){
$("a#SomeLink").click(function () {
$(this).fadeIn("fast").attr("href", "http://whatever.com/wherever.html");
});
});