点击div区域以外部分,div区域隐藏

Posted Malvina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击div区域以外部分,div区域隐藏相关的知识,希望对你有一定的参考价值。

核心思想:

监听body的click事件,事件触发的时候判断是否发生在弹出的div上,如果不在,关闭弹层

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#pop{border:#000; background-color:#CCC; position:absolute; left:50px; top:50px;width:200px;height:500px; display:none}
#btn{color:#f00}
</style>
<script type="text/javascript">
function $(id){return document.getElementById(id);}
window.onload = function(){
  document.onclick = function(e){
    $("pop").style.display = "none";
  }
  $("btn").onclick = function(e){
    $("pop").style.display = "block";
    stopFunc(e);
  }
  $("pop").onclick = function(e){
    stopFunc(e);
  }
}
function stopFunc(e){
  document.all? event.cancelBubble = true : e.stopPropagation();
}
</script>
</head>
<body>
<span id="btn">打开层</span>

<div id="pop">
浮层,点击这个浮层以外的区域,都可以隐藏这个浮层,怎么做啊,多谢了
<p><a href="http://www.baidu.com" target="_blank">最主要的是点这个div里面的链接,div照样不隐藏</a></p>
</div>
</body>
</html>

 

以上是关于点击div区域以外部分,div区域隐藏的主要内容,如果未能解决你的问题,请参考以下文章

jquery点击div以外的区域触发事件

js怎么实现点击div区域外任意位置,使这个div隐藏?

jQuery实现鼠标点击Div区域外隐藏Div

js构建函数,点击按钮显示div,再点击按钮或其他区域,隐藏div

点击自定义下拉框以外的区域关闭下拉框

除指定区域外点击任何地方隐藏DIV