$(document).click()メソッドを使用してクリックされた要素ホエーを取得する方法を理解しようとしています:
$(document).click(function() {
if ($(this) !== obj) {
obj2.hide();
}
});
上記の例では、objはオブジェクトがドロップダウンメニューです-クリックされた場合は何も実行したくありませんが、クリックがページの本文またはその他の要素にあった場合は- hide()メソッドをトリガーする必要があります。
event.target を使用できます。同じ要素を含む2つのjQueryオブジェクトは引き続き異なると見なされるため、jQueryオブジェクトの代わりにDOM要素も比較する必要があります。
$(document).click(function(event) {
if (event.target !== obj[0]) {
obj2.hide();
}
});
ほとんどの場合、すべての親要素とターゲット自体で.topNavigation
クラスを確認する必要があります。
$(document).click(function(event) {
if ( !$(event.target).closest( ".topNavigation" ).length ) {
obj2.hide();
}
});