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 相关文章推荐
cssQuery()的下载与使用方法
Jan 12 Javascript
通过javascript设置css属性的代码
Dec 28 Javascript
基于jquery的滚动新闻列表
Jun 19 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
js和jquery中循环的退出和继续学习记录
Sep 06 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
js原生跨域_用script标签的简单实现
Sep 24 Javascript
基于AngularJS实现表单验证功能
Jul 28 Javascript
vue-cli构建vue项目的步骤详解
Jan 27 Javascript
react koa rematch 如何打造一套服务端渲染架子
Jun 26 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
Jul 09 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屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
JavaScript 基本概念
2015/01/20 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
bootstrap table使用入门基本用法
2017/05/24 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
django 实现简单的插入视频
2020/04/07 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
Feelunique中文官网:欧洲最大化妆品零售电商
2020/07/10 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
幼儿园春游活动方案
2014/01/19 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
房地产端午节活动方案
2014/08/24 职场文书
中学生检讨书1000字
2014/10/28 职场文书
瘦西湖导游词
2015/02/03 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
详细总结Python常见的安全问题
2021/05/21 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python