0

以下の例は、 href の有効化/無効化には機能しますが、onclickには機能しません。両方の属性を有効/無効にする必要があります

注: onclick イベントをダミーの 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/

4

1 に答える 1

8

click() 関数内で、明示的に false を返す必要があります (無効になっていることがわかった後)。そうしないと、デフォルトのハンドラーによって、ブラウザーが指定された href に移動または実行されます。

OPはおそらく先に進んだので、この答えは本当にグーグル検索者のためのものです.

于 2014-03-20T21:46:11.163 に答える