如何启用/禁用锚标记

时间:2013-05-20 19:57:34

标签: javascript jquery toggle anchor

以下示例适用于启用/禁用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>

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>

工作示例 http://jsfiddle.net/nunnakirankumar/suYe4/

1 个答案:

答案 0 :(得分:8)

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

OP很可能会继续前进,所以这个答案实际上只是为了谷歌搜索者的利益。