美文网首页
jQuery实现点击空白处隐藏弹出框

jQuery实现点击空白处隐藏弹出框

作者: 柏龙 | 来源:发表于2017-05-25 00:00 被阅读0次

实例代码如下:
html

<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
  <meta charset="utf-8">
  <title>点击空白处关闭弹窗</title>
</head>
<body>
  <span class="btn btn-pop">点我</span>
  <div class="pop">
    <p>这是面是弹窗内容</p>
    <span class="btn close">关闭</span>
  </div>
</body>
</html>

css

.btn{
  display: inner-block;
  padding: 5px;
  border: 1px red solid;
  border-radius: 6px;
  cursor: pointer;
}
.pop{
  width: 200px;
  height: 200px;
  border: 2px solid red;
  position: absolute;
  top: 50%;
  left: 50%;
  transform:  translate(-50%,-50%);
  display: none;
  padding: 10px;
}

js - 两种实现方式

var pop = $('.pop');
$('.btn-pop').on('click', function(e){
  e.stopPropagation();  
  pop.show();
});

$('.close').on('click', function(){
  pop.hide();
});
$(document).click(function(e){
  // 方法1
  //    if($(':not(.pop)')){
  //      pop.hide();
  //    }
  // 方法2 
  if(!pop.is(e.target) && pop.has(e.target).length === 0){
    pop.hide();
  }
});

在线查看

相关文章

网友评论

      本文标题:jQuery实现点击空白处隐藏弹出框

      本文链接:https://www.haomeiwen.com/subject/kbkaxxtx.html