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>
目录
相关文章
|
5月前
|
前端开发
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
54 0
|
11月前
div高度设置100%无效的问题
div高度设置100%无效的问题
100 1
|
2月前
|
JavaScript 前端开发
怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
这篇文章介绍了在Vue框架中使用Element UI组件库时,如何通过v-if指令和v-model绑定来控制`el-form-item`的显示与隐藏,以及如何通过设置`readonly`属性让输入框变为只读状态。
怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
|
11月前
通过select下拉框里的value控制div显示与隐藏
通过select下拉框里的value控制div显示与隐藏
69 0
|
Web App开发 前端开发 开发者
关于施加在 div 标签上的 ngTemplateOutlet 指令让 div class 丢失的问题调试
关于施加在 div 标签上的 ngTemplateOutlet 指令让 div class 丢失的问题调试
如何如何禁用div不能点击?div disabled不能点击 不能click div禁用无效
如何如何禁用div不能点击?div disabled不能点击 不能click div禁用无效
592 0
|
前端开发
将div铺满body三种方式
将div铺满body三种方式
307 0
layui子页面获取父页面input框中的值
本文介绍如何在layui子页面获取父页面input框中的值。
727 0
layui子页面获取父页面input框中的值
|
Web App开发 容器
Div并排显示
Div并排显示