html如下:
<div class="btn" id="btn">btn</div>
<div class="box"></div>
jquery(法一)如下:
$('.btn').on('click',function(e){
$('.box').show();
e.stopPropagation();
})
$('body').on('click',function(){
$('.box').hide();
})
jquery(法二)如下:
$('body').click(function(e) {
var target = $(e.target);
// 如果#overlay或者#btn下面还有子元素,可使用
// !target.is('#btn *')
if(target.is('#btn')){
$('.box').show();
}else{
$('.box').hide();
}
});
我用的第2种方法看起来比较简洁