イベントを削除するには、offを使います。
サンプルソース2>
例)ボタン2をクリックすると、ボタン1のクリックイベントを削除する
12345678910111213141516171819202122232425
<!DOCTYPE html><html lang="ja"><head><meta charset="utf-8"><title>サンプル</title><script src="http://code.jquery.com/jquery-3.2.1.min.js"></script><script>$(function(){ //ボタン1のクリックイベント $('#btn1').click(function(){ alert("ボタン1がクリックされました。"); }); //ボタン2のクリックイベント $('#btn2').click(function(){ $("#btn1").off("click"); //ボタン1のクリックイベントを削除する });});</script></head><body> <input type="button" id="btn1" value="ボタン1"> <input type="button" id="btn2" value="ボタン2"></body></html>
実行サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>サンプル</title> <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script> <script> $(function(){ //ボタン1のクリックイベント $('#btn1').click(function(){ alert("ボタン1がクリックされました。"); }); //ボタン2のクリックイベント $('#btn2').click(function(){ $("#btn1").off("click"); //ボタン1のクリックイベントを削除する }); }); </script> </head> <body> <input type="button" id="btn1" value="ボタン1"> <input type="button" id="btn2" value="ボタン2"> </body> </html> |
ボタン1を押すとアラートが表示されますが、ボタン2をクリックした後にボタン1をクリックするとアラートが表示されなくなります。
解説
- offを使うと、ほとんどのイベントを無効にできます。