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使用unlock.js插件实现滑动解锁
Apr 04 jQuery
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 jQuery
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
jquery鼠标悬停导航下划线滑出效果
Sep 29 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
jQuery实现穿梭框效果
Jan 19 jQuery
jquery实现广告上下滚动效果
Mar 04 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/11/16 PHP
Ajax PHP简单入门教程代码
2008/04/25 PHP
php date与gmdate的获取日期的区别
2010/02/08 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
Javascript实现的分页函数
2006/12/22 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
从vue源码看props的用法
2019/01/09 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
在Python下进行UDP网络编程的教程
2015/04/29 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
初三化学教学反思
2014/01/23 职场文书
大学运动会入场词
2014/02/22 职场文书
校长师德表现自我评价
2015/03/05 职场文书
教育教学读书笔记
2015/07/02 职场文书