场景:点击一个按钮弹出一个对话框/气泡,点击空白区域隐藏对话框/气泡;
html:
<button id="btn">按钮</button>
<div class="tips"></div>
css:
.tips{
width: px;
height: px;
background: red;
display: none;
}
js:
//方法一:适用于按钮(有聚焦、失焦事件)
$("#btn").on("click",function(){
$(".tips").show();
});
$("#btn").on("blur",function(){
$(".tips").hide();
});
//方法二:适用所有元素
$("#btn").on("click",function(e){
e.stopPropagation();
$(".tips").show();
});
$(document).on("click",function(){
$(".tips").hide();
});
//方法二点击`$(".tips")`不关闭
$(".tips").on("click",function(e){
e.stopPropagation();
});
//方法三:适用所有的元素
$("#btn").on("click",function(e){
$(".tips").show();
$(document).one("click",function(){
$(".tips").hide();
});
e.stopPropagation();
});
//方法三点击`$(".tips")`不关闭
$(".tips").on("click",function(e){
e.stopPropagation();
});
效果如下:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CXykkaOVTTU5EenpWT4tmblZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN3cjMykDMzIDOykDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)