我正试图弄清楚如何使用$(document).click()方法获取点击的元素:
$(document).click(function() {
if ($(this) !== obj) {
obj2.hide();
}
});
在上面的例子中, obj 是对象是下拉菜单 - 如果点击我不希望它做任何事情,但如果点击是在页面正文或任何其他元素 - 它应该触发hide()方法。
答案 0 :(得分:25)
您可以使用event.target。您还应该比较DOM元素而不是jQuery对象,因为包含相同元素的两个jQuery对象仍将被视为不同:
$(document).click(function(event) {
if (event.target !== obj[0]) {
obj2.hide();
}
});
答案 1 :(得分:12)
您最有可能想要检查.topNavigation
类
$(document).click(function(event) {
if ( !$(event.target).closest( ".topNavigation" ).length ) {
obj2.hide();
}
});