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中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
jQuery返回定位插件详解
May 15 jQuery
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
Oct 24 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 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
拼音码表的生成
2006/10/09 PHP
PHP&amp;MYSQL服务器配置说明
2006/10/09 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
php 设计模式之 工厂模式
2008/12/19 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
PHP常用的小程序代码段
2015/11/14 PHP
JavaScript中的标签语句用法分析
2015/02/10 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现远程调用MetaSploit的方法
2014/08/22 Python
python获取标准北京时间的方法
2015/03/24 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
基于python历史天气采集的分析
2019/02/14 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
学校经典推荐信
2013/10/30 职场文书
个人收入证明范本
2014/01/12 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
实验室的标语
2014/06/20 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
工作失职检讨书500字
2014/10/17 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
2016年国陪研修感言
2015/11/18 职场文书
7个关于Python的经典基础案例
2021/11/07 Python