当我点击页面上的任何地方时,我有以下隐藏某个div的功能:
$("html").click(function() {
$(".myDiv1").addClass("hidden");
});
我想为此函数添加一个例外。如果单击位于另一个div中,则忽略此隐藏...我选择第二个函数的唯一方法是选择一个不同的元素:
$(".nyOtherDiv").parent()
我如何结合这些?或者我只是将它作为一个单独的函数添加到下面来覆盖第一个函数?
答案 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");
});