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实现可编辑表格并生成json结果(实例代码)
Jul 19 jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
jQuery创建及操作xml格式数据示例
May 26 jQuery
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
jQuery轮播图实例详解
Aug 15 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 jQuery
jQuery实现简单飞机大战
Jul 05 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生成二维码的几种方式整理及使用实例
2013/06/03 PHP
简单的自定义php模板引擎
2016/08/26 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
在JavaScript中使用JSON数据
2016/02/15 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
学习python分支结构
2019/05/17 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
2020/04/01 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
我爱读书演讲稿
2014/05/07 职场文书
物理学专业求职信
2014/07/04 职场文书
见义勇为事迹材料
2014/12/24 职场文书
孔子观后感
2015/06/08 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis