> JavaScript/jQuery > jQueryでlabelにクリックイベントを設定するとダブルクリック判定になる時の対処法
jQueryでlabelにクリックイベントを設定するとダブルクリック判定になる時の対処法

jQueryでlabelにクリックイベントを設定するとダブルクリック判定になる時の対処法

form label に対して jQuery でon.('click', function(){});イベントを設定した時、クリックすると2回イベントが発動し、ダブルクリックした時のような挙動になります。

その時の対処法を記載しておきます。

HTML記載例

<form action="">
    <label for="male">
        <input id="male" type="radio" name="male" value="男性" checked>男性
    </label>
    <label for="famale">
        <input id="famale" type="radio" name="famale" value="女性">女性
    </label>
</form>

上記のようなHTMLがあった時、labelにクリックイベントを設定すると、inputのクリックイベントも発火するため、ダブルクリックしたような挙動となります。
labelにクリックイベントを設定するのではなく、inputにクリックイベントを設定することで回避できます。

JS記載例

// label ではなく input にクリックイベントを設定
$('input').on( 'click', function(){
  console.log('test');
});

// または label ではなく input にチェンジイベントを設定
$('input').on( 'change', function(){
  console.log('test');
})

最後に

labeldisplay: block; している時などは label にイベントを設定したくなりがちなのですが、labelinput は連携しているので input にイベントを設定するようにしましょう。

この記事が気に入ったらシェアしてください

関連記事

jQueryでチェックボックスを操作する方法まとめ【2021年版】

jQueryでチェックボックスを操作する方法まとめ【2021年版】

jQueryプラグイン「Colorbox」でYoutube動画をモーダルで表示してみる(レスポンシブ対応済)

jQueryプラグイン「Colorbox」でYoutube動画をモーダルで表示してみる(レスポンシブ対応済)

jQueryプラグイン「Colorbox」でHTMLタグや外部HTMLファイルをモーダルで表示してみる

jQueryプラグイン「Colorbox」でHTMLタグや外部HTMLファイルをモーダルで表示してみる

簡単にモーダルウィンドウを実装できるjQueryプラグイン「Colorbox」

簡単にモーダルウィンドウを実装できるjQueryプラグイン「Colorbox」

SyntaxHighlighterでの表示を色々カスタマイズしてみる

SyntaxHighlighterでの表示を色々カスタマイズしてみる

クリックするとトリガーが×になるドロワーメニュー

クリックするとトリガーが×になるドロワーメニュー

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)