背景:点击 #modelTransparent 展示 #transparentControl
需求:点击空白区域隐藏 #transparentControl
目标区域: #transparentControl
//显示
$("#modelTransparent").click(function() {
$("#transparentControl").css("display","block");
});
//隐藏
$(document).click(function(e){
var tc = $("#transparentControl");
if(tc.css("display") === "block"){
var mt = $("#modelTransparent");
if(!mt.is(e.target) && mt.has(e.target).length === 0){
if(!tc.is(e.target) && tc.has(e.target).length === 0){
tc.css("display","none");
}
}
}
});
第一层判断是为了避免显示目标时,目标一闪而过的情况:
if(!mt.is(e.target) && mt.has(e.target).length === 0)