要素をクリックすると表示される「ドロップダウン メニュー」を HTML で作成しました。要素をクリックすると、「選択された」クラスが適用されli
、サブメニューが表示されます。
メニュー項目をクリックしたときにメニューを表示/非表示にするコードがあります。別のメニューが選択されている場合、選択されたクラスがそこから削除され、クリックされたクラスに切り替えられます。
$("#menu").on("click", "li.dropdown", function(event) {
event.preventDefault();
event.stopPropagation();
$(this).siblings(".dropdown").removeClass("selected");
$(this).toggleClass("selected");
});
問題は、サブメニュー内の子をクリックすると、メニューが切り替わり、メニューが閉じられるということです。
また、ドキュメント内の他の場所をクリックしたときにメニューを非表示にしたいと考えています。これは、次の方法で実現できます。
$(document).on("click", function(event) {
$("#menu .dropdown").removeClass("selected");
});
1) ドロップダウン部分をクリックしたときにメニューを非表示にせずに、このトグル機能を有効にするにはどうすればよいですか?
2) ドキュメントのメニュー/サブメニュー以外の場所をクリックしたときにメニューを非表示にするにはどうすればよいですか?