jQueryでチェックボックス操作のイベントリスナー登録するときはコントロールに対してchangeで指定する

投稿日: 更新日:

よくボケるので自戒を込めて。

次のようなチェックボックスに対し、ウェブブラウザからユーザーがクリックとかアクションを行ってチェックがon/offした際に、jQueryで処理を実行したい場合、

<label for="hoge">
<input type="checkbox" name="hoge" />
</label>

次のような指定はNG.

ダメな例#1.

$('label[for="hoge"]').on( 'click', function(){
...(処理)...
});

ダメな例#2.

$('label[for="hoge"]').on( 'change', function(){
...(処理)...
});

次の様にコントロールに対してchangeイベントを設定するとOK.

$('input[name="hoge"]').on( 'change', function(){
...(処理)...
});

多分NGのやつを組み込んだ時は疲れていたんだと思う。

関連するタグ

関連するタグは現在ありません。