1. ホーム
  2. javascript

[解決済み] 要素外でのクリックを検出するにはどうすればよいですか?

2022-02-14 20:54:26

質問内容

HTMLのメニューがいくつかあり、ユーザーがこれらのメニューの頭をクリックすると、完全に表示されます。ユーザーがメニューの領域外をクリックすると、これらの要素を隠したいのですが。

このようなことは、jQueryで可能でしょうか?

$("#menuscontainer").clickOutsideThisElement(function() {
    // Hide the menus
});

解決方法は?

<ブロッククオート

注意 stopPropagation は、DOM の正常なイベントフローを壊してしまうので、避けた方がよいでしょう。参照 このCSSトリックの記事 をご覧ください。を使用することを検討してください。 この方法 の代わりに

ドキュメント本体にウィンドウを閉じるクリックイベントを付ける。コンテナには、ドキュメント本体への伝播を停止させるクリックイベントを別途アタッチする。

$(window).click(function() {
  //Hide the menus if visible
});

$('#menucontainer').click(function(event){
  event.stopPropagation();
});