Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击除另一个div外的任意位置时隐藏div w/jQuery_Jquery - Fatal编程技术网

单击除另一个div外的任意位置时隐藏div w/jQuery

单击除另一个div外的任意位置时隐藏div w/jQuery,jquery,Jquery,我有以下功能,可以在单击页面上的任意位置时隐藏某个div: $("html").click(function() { $(".myDiv1").addClass("hidden"); }); 我想给这个函数添加一个例外。如果单击位于另一个div中,请忽略此隐藏。。。选择第二个函数的唯一方法是选择一个不同的元素: $(".nyOtherDiv").parent() 我如何组合这些?或者我应该在下面单独添加一个函数来覆盖第一个吗?您可以使用它来查看单击的元素。如果要排除的是该div,则不

我有以下功能,可以在单击页面上的任意位置时隐藏某个div:

$("html").click(function() {
    $(".myDiv1").addClass("hidden");
});
我想给这个函数添加一个例外。如果单击位于另一个div中,请忽略此隐藏。。。选择第二个函数的唯一方法是选择一个不同的元素:

$(".nyOtherDiv").parent()
我如何组合这些?或者我应该在下面单独添加一个函数来覆盖第一个吗?

您可以使用它来查看单击的元素。如果要排除的是该div,则不要添加该类,否则请添加该类

$(document).not('div').click(function() { 
    //everywhere in the document that is NOT a div
    $(".myDiv1").addClass("hidden");
});
var exclude_div = $(".nyOtherDiv").parent();  
$(document).click(function(e){
   if( !exclude_div.is( e.target ) )  // if target div is not the one you want to exclude then add the class hidden
        $(".myDiv1").addClass("hidden");  

}); 

这是一个例子

不,我需要精确到我提到的那个。我在这页上有好几个div;)@圣诞老人,所以请更改
中的选择器,而不是
哦,我明白了。。。像这样,我假设:$(document).not($(“.nyOtherDiv”).parent())。单击(function(){谢谢。这不起作用。偶数处理程序没有附加到页面中的每个元素,它附加到
文档
,因此
.not()
是没有意义的。