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代码复用模式实例分析
Dec 02 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
Jan 06 Javascript
JavaScript学习笔记之数组求和方法
Mar 23 Javascript
JavaScript每天必学之事件
Sep 18 Javascript
tab栏切换原理
Mar 22 Javascript
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
微信小程序实现漂亮的弹窗效果
May 26 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
ES6顶层对象、global对象实例分析
Jun 14 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 Javascript
js实现3D照片墙效果
Oct 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
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
python中time.ctime()实例用法
2021/02/03 Python
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
应届大学生的推荐信
2013/11/20 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
门诊手术室工作制度
2014/01/30 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis