jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)


Posted in Javascript onNovember 18, 2016

本文实例讲述了jQuery实现点击某个div打开层,点击其他div关闭层的方法。分享给大家供大家参考,具体如下:

其实很早就学过js一些高级部分的知识,但是用的不多,也就慢慢淡忘了。最近发现随着编程的深入,你不得不用到它们,比如事件的冒泡。

jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)

有一需求如下:

①点击class = "click" 块 弹出 class="pop" 块
②点击class = "page" 块 关闭 class="pop" 块
③点击class = "pop" 块 不关闭任何块

如果用jQuery 鲁莽一点,直接的程序就写出来了

<script>
 $(function(){
   $('.click').click(functon(){
     $('.pop').show();
   });
   $('.page').click(function(){
    $('.pop').hide();
  })
 })
</script>

你这么一闹腾,问题就出来了,当我点击"click"块的时候,妹的,我还没看到弹出层 "pop",瞬间就关闭了,这是为什么呢?因为你点击"click" 的瞬间,触发了两个事件,第一个是 自己本身的点击事件,因为自己的父层也注册了点击事件,那第二个父层的点击事件也被触发了,即所谓的事件冒泡。

我又想保留这两个事件,但又不想出现这样的情况,怎么办,这就是我要说的 阻止事件冒泡。

阻止事件冒泡大致有两种办法:

1)使用 return false;
2)使用
event.stopPropagation();

其实两者的原理差不多,就是屏蔽要冒泡的对象

$(function(){
   $('.click').click(functon(event){
     $('.pop').show();
     event.stopPropagation();
   });
   $('.page').click(function(){
    $('.pop').hide();
  })
})

或者:

$(function(){
   $('.click').click(functon(){
     $('.pop').show();
     return false;
   });
   $('.page').click(function(){
    $('.pop').hide();
  })
})

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript document.referrer 用法
Apr 30 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
JS中的this变量的使用介绍
Oct 21 Javascript
node.js中的querystring.parse方法使用说明
Dec 10 Javascript
jquery插件validation实现验证身份证号等
Jun 04 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
Jun 15 Javascript
如何让一个json文件显示在表格里【实现代码】
May 09 Javascript
Bootstrap实现导航栏的2种方式
Nov 28 Javascript
jquery.zclip轻量级复制失效问题
Jan 08 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
Aug 14 Javascript
详解Vue依赖收集引发的问题
Apr 22 Javascript
TypeScript类型声明书写详解
Aug 28 Javascript
浅谈javascript中遇到的字符串对象处理
Nov 18 #Javascript
文件上传,iframe跨域数据提交的实现
Nov 18 #Javascript
jQuery实现自动调用和触发某个事件的方法
Nov 18 #Javascript
jQuery与JavaScript节点创建方法的对比
Nov 18 #Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 #Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 #Javascript
form+iframe解决跨域上传文件的方法
Nov 18 #Javascript
You might like
header导出Excel应用示例
2014/01/24 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
python实现Zabbix-API监控
2018/09/17 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
求职自荐信范文格式
2013/11/29 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
预备党员的自我评价
2014/03/12 职场文书
商铺租赁意向书
2014/04/01 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
工作能力自我评价2015
2015/03/05 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS