DIV外区域Click后关闭DIV

简介: 首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。   阻止冒泡:1、stopPropagation()对于非IE浏览器。

首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。

  阻止冒泡:1、stopPropagation()对于非IE浏览器。2、cancelBubble属性为true,对于IE浏览器,

       而Jquery已经有兼容浏览器的方法,event.stopImmediatePropagation();

  

 1     <style>
2 body
3       {
4 background:black;
5       }
6 #myDiv
7       {
8 background: #fff;
9 width:250px;
10 height:250px;
11 display:none;
12       }
13   </style>
14 <div id="myDiv">
15 This is a div;
16 </div>
17 <input id="btn" type="button" value="显示DIV" />
18 <script type="text/javascript">
19     var myDiv = $("#myDiv");
20 $(function () {
21 $("#btn").click(function (event) {
22 showDiv();//调用显示DIV方法
23 $(document).one("click", function () {//对document绑定一个影藏Div方法
24 $(myDiv).hide();
25 });
26 event.stopPropagation();//阻止事件向上冒泡
27 });
28 $(myDiv).click(function (event) {
29 event.stopPropagation();//阻止事件向上冒泡
30 });
31 });
32     function showDiv() {
33 $(myDiv).fadeIn();
34 }
35 </script>
目录
相关文章
|
7月前
|
前端开发
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
114 0
|
5月前
Element UI【级联选择器】el-cascader 获取选中内容的 label 数据,鼠标悬浮显示超长内容
Element UI【级联选择器】el-cascader 获取选中内容的 label 数据,鼠标悬浮显示超长内容
732 3
通过select下拉框里的value控制div显示与隐藏
通过select下拉框里的value控制div显示与隐藏
84 0
如何如何禁用div不能点击?div disabled不能点击 不能click div禁用无效
如何如何禁用div不能点击?div disabled不能点击 不能click div禁用无效
628 0
|
前端开发
将div铺满body三种方式
将div铺满body三种方式
324 0
|
Web App开发 容器
Div并排显示
Div并排显示
|
容器
子div设置float后会导致父div无法自动撑开
注: 文章部分转载 彩泉 - 博客园 原因:内部的DIV因为float:left之后,就丢失了clear:both和display:block的样式,所以外部的DIV不会被撑开。
905 0