本文へ移動
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
  • About
  • Price
  • Work
  • Blog
  • Contact
  1. ホーム
  2. Blog
  3. 【JavaScript】クリックイベントが親要素に伝播しないようにする方法

公開日: 2019.08.16

【JavaScript】クリックイベントが親要素に伝播しないようにする方法

【JavaScript】クリックイベントが親要素に伝播しないようにする方法

例えば、メニューボタンを押すとメニューが開き、もう一度押すと閉じるというようなトグルボタンを設置する時、メニューを開いた状態で画面のどこかをクリックすると、メニューが閉じるという仕様になっている事が多い。

そこで自分も、そういう仕様を実装しようと、bodyなどにクリック判定をつけて、画面のどこかをクリックした時メニューを閉じるように実装した。

しかしこれでは、メニューボタンを押したとき、親要素のbodyのクリック判定が反応してしまい、メニューボタンが開かないという現象があった。

解決方法

メニューボタン要素が押された時、クリックイベントが親要素に伝播しないようにする。

$(document).on( 'touchstart click','#menu', function(e){
	e.stopPropagation();
});

 

タグ

  • JavaScript
  • メニュー開閉
  • 伝播
  • 画面クリック
  • 親要素

関連記事

2020.07.27

JavaScriptでselect要素のoption(項目)をセレクトする

JavaScriptでselect要素のoption(項目)をセレクトする

2019.06.09

ページ読み込み後に実行する関数の違い一覧(JavaScriptとjQuery)

ページ読み込み後に実行する関数の違い一覧(JavaScriptとjQuery)

2019.11.25

【超簡単】Masonryの使い方と最低限の実装方法

【超簡単】Masonryの使い方と最低限の実装方法
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
YAS プロフィール画像

長野県長野市在住
WEBエンジニア YAS

LINKS

  • X
  • Instagram
  • GitHub
Design
  • スタンダード
  • 和モダン
  • エンジニア
  • 信州ナチュラル
プライバシーポリシー

@ Webstudio YAS