2011-12-21 52 views
0

我刚刚完成开发一个web应用程序,但我有一个关于在Firefox中禁用的属性实在烦不胜烦的问题8.火狐八级伤残=禁用

看来好像disabled=disabled是无效的,因此我的超级链接不会渲染为禁用。

我在下面的html代码中试过这个: 我试过了很多不同的jQuery命令,只是为了确保它不是我尝试禁用超链接的特定方法。

<a id="continue_link" href="/">Link</a> 

<script type="text/javascript"> 
    //$('#continue_link').attr("disabled", "true"); 
    //$('#continue_link').attr("disabled", true); 
    $('#continue_link').prop("disabled", true); 
    $('#continue_link').prop("disabled", "true"); 
</script> 

回答

3

disabled不是(和从来没有)的a元素的属性。为了防止链接默认行为,jQuery中最简单的方法是使用return false或更具体地说e.preventDefault()

试试这个:

$("#continue_link").click(function(e) { 
    if (myCondition == "something") { 
     // stop the link 
     e.preventDefault(); 
     alert("I'm sorry. I can't let you do that, Dave."); 
    } 
}); 
+0

哦仪式,我认为这是事实。如果我不希望它被启用,将使用什么呢? – 2011-12-21 10:50:41

0

你想要么作为属性标签这个附加:

onclick="return false;" 

还是这jQuery中:

$(function(){ 
    $('#continue_link').click(function(){ 
     return false; 
    }); 
}); 

残疾不是属性在锚标签上有效。

0

以下CSS风格,这将解决这个问题,在Firefox

a[disabled] { 
color: gray !important; 
cursor: default !important; 
text-decoration: none; 
}