私はこのジャンボメニューを持っています(実際のフィドルで実装するのは本当に難しいので、謝罪します)が、私は達成しようとしていることを説明しようとします。ページ上の特定の要素をクリックしてドロップダウンを閉じる
だから、今すぐドロップダウンはその隣のドロップダウンをクリックするだけで終了しますが、本文のどこかをクリックすると閉じる必要があります。だから、私は "#navigation"をクリックしたときにドロップダウンを閉じる部分的な解決策を得ましたが、他のすべての要素をクリックしたときには閉じませんでした。外にクリックしたときにドロップダウンが閉じられるように、他のすべての要素を適切に選択するにはどうすればよいですか?すべての助けに感謝します。
$(function() {
var navItem1 = document.getElementById('navItem1');
var navItem2 = document.getElementById('navItem2');
var otherElements = $("body > *").not("#navigation");
console.log(otherElements); // prints normally
$('html').click(function (e) {
console.log(otherElements); // prints normally
if (e.target.id == 'navigation' || e.target == otherElements) {
navItem1.style.display = "none";
navItem2.style.display = "none";
} else {
//do something
}
});
});
'html'の代わりに' body'を対象にしようとしましたか? – Zvezdas1989
ええ、それは同じことをする.. – DevJoe
完全なコード例がないのは分かりません。たぶん、codepenを使ってみると、何が起こっているのか分かるはずです。実装するコードが増えてきたらいいと思います。 – Zvezdas1989