jQuery阻止事件冒泡实例分析


Posted in jQuery onJuly 03, 2018

本文实例讲述了jQuery阻止事件冒泡。分享给大家供大家参考,具体如下:

我们在平时的开发过程中,肯定会遇到在一个div(这个div可以是元素)包裹一个div的情况,但是呢,在这两个div上都添加了事件,如果点击里面的div我们希望处理这个div的事件,但是呢,我们不希望外层的div的事件也执行,这时候我们就要用到阻止冒泡。

通俗点来说吧,你在家里看电视,躲在自己的小房间,但是你不希望声音传到隔壁父母的耳朵里,这时候,你可能躲在被窝里,或者墙壁的隔音效果很好,阻隔声音可以理解为阻止冒泡。

阻止事件冒泡的三种手段

1、return false:可以阻止默认事件和冒泡事件

2、event.stopPropagation/IE下event.cancelBubble  = true;:可以阻止冒泡事件但是允许默认事件

3、event.preventDefault();/IE下event.returnValue = false:可以阻止默认事件但是允许冒泡事件

上面的三种方法运用在不同的场景,可以合理运用,下面是代码,可以自己做一些测试:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>jQuery阻止冒泡</title>
  <style>
    .div1{
      width: 140px;
      border: 1px solid blue;
    }
    .div2{
      width: 100px;
      height: 100px;
      margin: 20px;
      border: 1px solid red;
    }
  </style>
</head>
<body>
<div class="div1">
  <div class="div2">
    点我呀!!!!
  </div>
</div>
<a href="http:www.baidu.com" rel="external nofollow" id="a1">百度</a>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  $('.div1').bind('click',function(){
    alert("div1");
  });
  $('.div2').bind('click',function(){
    alert("div2");
//    return false;//也可以通过return false 阻止冒泡
    if(window.event){//IE下阻止冒泡
      event.cancelBubble = true;
    }else{
      event.stopPropagation();
    }
  });
  $('#a1').bind('click',function(){
    if(window.event){//IE下阻止默认事件
      event.returnValue = false;
    }else{
      event.preventDefault();
    }
    alert("我是链接");
    //return false;//如果不添加任何阻止事件,先弹框,后跳转,我们可以通过return false阻止跳转
  });
</script>
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具 http://tools.3water.com/code/HtmlJsRun测试运行效果如下:

jQuery阻止事件冒泡实例分析

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

jQuery 相关文章推荐
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 jQuery
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
基于JQuery的Ajax方法使用详解
Aug 16 jQuery
jquery中有哪些api jQuery主要API
Nov 20 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
jQuery实现鼠标滑动切换图片
May 27 jQuery
jQuery实现查看图片功能
Dec 01 jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 #jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 #jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 #jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 #jQuery
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 #jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 #jQuery
基于jQuery实现的设置文本区域的光标位置
Jun 15 #jQuery
You might like
php创建sprite
2014/02/11 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
mac使用python识别图形验证码功能
2020/01/10 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
工程概预算专业毕业生求职信
2013/10/04 职场文书
《在家里》教后反思
2014/03/01 职场文书
元旦寄语大全
2014/04/10 职场文书
学生检讨书范文
2015/01/27 职场文书
课外活动总结
2015/02/04 职场文书
大国崛起观后感
2015/06/02 职场文书
详解Redis瘦身指南
2021/05/26 Redis
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
Python实现批量自动整理文件
2022/03/16 Python
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫