单击任意位置时隐藏div,但使用/ jQuery单击另一个div

时间:2011-12-14 22:31:31

标签: jquery

当我点击页面上的任何地方时,我有以下隐藏某个div的功能:

$("html").click(function() {
    $(".myDiv1").addClass("hidden");
});

我想为此函数添加一个例外。如果单击位于另一个div中,则忽略此隐藏...我选择第二个函数的唯一方法是选择一个不同的元素:

$(".nyOtherDiv").parent()

我如何结合这些?或者我只是将它作为一个单独的函数添加到下面来覆盖第一个函数?

2 个答案:

答案 0 :(得分:3)

您可以使用event.target查看点击了哪个元素。如果是您要排除的div,则不要添加该类,否则添加该类。

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");  

}); 

这是一个fiddle

答案 1 :(得分:0)

$(document).not('div').click(function() { 
    //everywhere in the document that is NOT a div
    $(".myDiv1").addClass("hidden");
});