在常用的弹窗效果中,一般是有遮罩层的
点击目标,弹窗触发
点击灰色透明背景,弹窗消失
这样的无遮罩层的情况,是不是也弄一个完全透明的遮罩层呢?
有一个不需要遮罩层的方法
/* Mark 1 的原理: 判断点击事件发生在区域外的条件是:
1. 点击事件的对象不是目标区域本身
2. 事件对象同时也不是目标区域的子元素
*/
$(document).mouseup(function(e){
var _con = $('#page-dropdown-menu'); // 设置目标区域
if(!_con.is(e.target) && _con.has(e.target).length === 0){ // Mark 1
hidePage();
}
});