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 UI Grid 模态框中的表格实例代码
Apr 01 jQuery
jQuery返回定位插件详解
May 15 jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 jQuery
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
Apr 26 jQuery
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
jQuery pjax 应用简单示例
Sep 20 jQuery
jQuery属性选择器用法实例分析
Jun 28 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
jQuery 添加元素和删除元素的方法
Jul 15 jQuery
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
jQuery实现带进度条的轮播图
Sep 13 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 URL跳转代码 减少外链
2011/06/25 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
学习ExtJS form布局
2009/10/08 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python实现通过继承覆盖方法示例
2018/07/02 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
python代码xml转txt实例
2020/03/10 Python
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
护士自我鉴定
2013/10/23 职场文书
公务员诚信承诺书
2014/05/26 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
受资助学生感谢信
2015/01/21 职场文书
交通事故案件代理词
2015/05/23 职场文书
妈妈别哭观后感
2015/06/08 职场文书
2015年中秋节主持词
2015/07/30 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
Python基本知识点总结
2022/04/07 Python