很多时候,我们做前端的时候都会有这样的小功能,点击弹出某个框框,但是,有时候不想操作,就想点击某个空白处,隐藏该框框。假设如下场景,一个小按钮,点击可以弹出一个模态框。
就这么简单,但是我们想要点击空白部分的时候隐藏模态框,加入按钮id:btn,模态框id:model
也许我们最简单的思路就是直接在document上监听一个事件,伪代码如下:
按钮点击弹出事件监听:
复制代码 代码如下:
$("#btn").bind("click",function(e){
if(e.stopPropagation){//需要阻止冒泡
e.stopPropagation();
}else{
e.cancelBubble = true;
}
})
复制代码 代码如下:
$(document).bind("click",function(e){
if(点击事件不在model上){
隐藏模态框;
}
})
复制代码 代码如下:
$("#modal").bind("click", function(event) {
if (event && event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
});
复制代码 代码如下:
$(document).one("click", function(e){
var $target = $(e.currentTarget);
if ($target.attr("id") != "modal") {
$("#modal").css("display", "none");
}
});
新闻热点
疑难解答
图片精选