Javascript 如何启用/禁用锚定标记

Javascript 如何启用/禁用锚定标记,javascript,jquery,toggle,anchor,Javascript,Jquery,Toggle,Anchor,下面的示例用于启用/禁用href,但不用于onclick。我需要启用/禁用这两个属性 注意:我不能简单地将onclick事件移除/绑定到dummy function(),因为一旦我们启用它,它就需要 脚本代码: <script type="text/javascript"> $(document).ready(function () { $("#b1").click(function () { $("#yahoo").attr("disabled", "

下面的示例用于启用/禁用href,但不用于onclick。我需要启用/禁用这两个属性

注意:我不能简单地将onclick事件移除/绑定到dummy function(),因为一旦我们启用它,它就需要

脚本代码:

<script type="text/javascript">
 $(document).ready(function () {
     $("#b1").click(function () {
         $("#yahoo").attr("disabled", "disabled");
         $("#yahoo").css("background-color", "silver");
     })

     $("#b2").click(function () {
         $("#yahoo").removeAttr("disabled");
         $("#yahoo").css("background-color", "white");
     })

     $("#yahoo").click(function (e) {
         if ($("#yahoo").attr("disabled") == "disabled") {
             e.preventDefault();
         }
     });
 });
</script>

$(文档).ready(函数(){
$(“#b1”)。单击(函数(){
$(“#雅虎”).attr(“禁用”、“禁用”);
$(“#雅虎”).css(“背景色”、“银色”);
})
$(“#b2”)。单击(函数(){
$(“#雅虎”).removeAttr(“禁用”);
$(“#雅虎”).css(“背景色”、“白色”);
})
$(“#雅虎”)。单击(函数(e){
if($(“#yahoo”).attr(“disabled”)=“disabled”){
e、 预防默认值();
}
});
});
HTML代码:

 <div>
   <input type="button" id="b1" value="Disable Yahoo Link"> 
   <input type="button" id="b2" value="Enable Yahoo Link">    
 </div>    
 <a id="yahoo" target="_blank" href="javascript:alert('href alert')" onclick="javascript:alert('onclick alert')">Yahoo.com</a>

工作示例

在click()函数中,需要显式返回false(在发现它被禁用后)。否则,默认处理程序将导致浏览器转到或运行指定的href


OP很可能已经继续了,所以这个答案真的只是为了谷歌搜索者的缘故。

你不需要
onclick
处理程序中的
javascript:
方案,因为你已经在一个javascript上下文中了。它工作的唯一原因是,在本例中,
javascript:
被视为标签。同意@Kolink,但删除标签javascript:并没有解决我的问题。它似乎对我来说工作正常。我正在使用IE10。在IE中工作,但在FF(FireFox)中没有。请尝试
if(this.hasAttribute(“disabled”)