メモ。
「.off()」関数を用いる。
以下のようなHTMLがあったとする。
<div class="append"> <button id="btn" type="button">Click</button> <button id="off" type="button">Off Event</button> </div>
スクリプトは以下の通り。
<script> $(function(){ // 既存、追加問わず全ての#btnに対してイベントがバインドされる $(document).on('click', '#btn', function(){ $('.append').append('<button id="btn" type="button">Appended</button>') }); $('#off').click(function(){ // #btnにバインドされたイベントが全て解除される $(document).off('click', '#btn'); }) }) </script>
Clickボタンを押すとボタンが追加される。追加されたボタンに関してもメソッドがバインドされているため、クリックすれば更にボタンが追加される。
ここでOff Eventボタンをクリックすると、上記コードの9行目でボタンにバインドされている関数が全て解除され、クリックしても反応しなくなる。
リアルタイムで関数の紐付けを操作したい時にとても便利。