单击$(文档)上的jQuery - 获取单击元素

use*_*341 13 jquery click hide

我试图弄清楚如何使用$(document).click()方法获取点击的元素:

$(document).click(function() {
    if ($(this) !== obj) {
        obj2.hide();
    }
});
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,obj是对象是下拉菜单 - 如果点击我不希望它做任何事情,但如果点击是在页面的主体或任何其他元素 - 它应该触发hide()方法.

Fré*_*idi 25

您可以使用event.target.您还应该比较DOM元素而不是jQuery对象,因为包含相同元素的两个jQuery对象仍将被视为不同:

$(document).click(function(event) {
    if (event.target !== obj[0]) {
        obj2.hide();
    }
});
Run Code Online (Sandbox Code Playgroud)


Esa*_*ija 12

您最有可能想要检查所有父元素+目标本身的.topNavigation

$(document).click(function(event) {
    if ( !$(event.target).closest( ".topNavigation" ).length ) {
        obj2.hide();
    }
});
Run Code Online (Sandbox Code Playgroud)