在写网页功能交互时,经常会用到弹窗,但是用户常常希望用完弹窗里的功能后,弹窗可以自动隐藏,因此,学会使用一个隐藏弹框的js特效,是非常有必要的。
我们希望的是,我们再操作弹窗(点击或聚焦在弹窗的范围内)时,弹窗可以保持,操作弹窗之外的区域时,弹窗自动消失。代码如下:
(document).mouseup(function(e) {
var _con = $(' 目标区域 '); // 设置目标区域
if(!_con.is(e.target) && _con.has(e.target).length === 0){ // Mark 1
some code... // 功能代码
}
});
/* Mark 1 的原理:
判断点击事件发生在区域外的条件是:
1. 点击事件的对象不是目标区域本身
2. 事件对象同时也不是目标区域的子元素
*/