web-dev-qa-db-ja.com

クリック時のjQuery $(ドキュメント)-クリックされた要素を取得

$(document).click()メソッドを使用してクリックされた要素ホエーを取得する方法を理解しようとしています:

$(document).click(function() {
    if ($(this) !== obj) {
        obj2.hide();
    }
});

上記の例では、objはオブジェクトがドロップダウンメニューです-クリックされた場合は何も実行したくありませんが、クリックがページの本文またはその他の要素にあった場合は- hide()メソッドをトリガーする必要があります。

13
user398341

event.target を使用できます。同じ要素を含む2つのjQueryオブジェクトは引き続き異なると見なされるため、jQueryオブジェクトの代わりにDOM要素も比較する必要があります。

$(document).click(function(event) {
    if (event.target !== obj[0]) {
        obj2.hide();
    }
});
25

ほとんどの場合、すべての親要素とターゲット自体で.topNavigationクラスを確認する必要があります。

$(document).click(function(event) {
    if ( !$(event.target).closest( ".topNavigation" ).length ) {
        obj2.hide();
    }
});
13
Esailija