イベントハンドラを切り替える
これ、よくハマります。jQueryのclickやon,offメソッドでハンドラを複数登録すると、通常はセットになって全てが有効化されます。disableにするか、普通に.off("click")とやってしまうと全部のイベントが拾えなくなってしまいますが、一部だけは残したいという場合にはnamespaceの概念を使うとうまくいくようです。
以下のコードではボタンに登録した2つのハンドラ(関数)のうち2つめだけを無効化しています。
<button id="test">Test!</button>
<script>
$("#test").on("click.1",function(){console.log("1!")});
$("#test").on("click.2",function(){console.log("2!")});
$("#test").off("click.2");
</script>
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について