指定した要素にバインドされたイベントを削除するには、.unbindを使用します。
サンプルソース
例)ボタンを押すとバインドされたイベントを削除する
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 26 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Sample</title> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script> $(function(){ //#d1にclickイベントをバインドする $('#d1').bind("click", function(){ console.log('bind!'); }); //clickイベントを削除する $('#btn1').click(function(){ $('#d1').unbind("click"); alert("clickイベントが削除されました。"); }); }); </script> </head> <body> <div id="d1">ここをクリックしてください。</div> <input type="button" id="btn1" value="ボタン"> </body> </html> |
unbindのその他の書き方
1 2 3 4 5 6 7 8 |
//すべてのバインドされたイベントを削除する $('#d1').unbind(); //バインドされたclickイベントを削除する $('#d1').unbind('click'); //バインドされたclickイベントで、function名「fnc01」のみを削除する $('#d1').unbind('click', fnc01); |
解説
- ちなみに、bind、unbindは非推奨となっています。
(on、offを使用してください)