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 循环遍历改变a标签的href(实例讲解)
Jul 12 jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
实现jquery放大镜的两种方法
Feb 22 jQuery
jQuery+ajax读取json数据并按照价格排序示例
Mar 28 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
jQuery轮播图实例详解
Aug 15 jQuery
jQuery pjax 应用简单示例
Sep 20 jQuery
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
jQuery+ajax实现用户登录验证
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中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
js切换div css注意的细节
2012/12/10 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
Python实现字典的key和values的交换
2015/08/04 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
python实现超市商品销售管理系统
2019/11/22 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
毕业生找工作的自我评价
2013/10/18 职场文书
校园文明标语
2014/06/13 职场文书
设计大赛策划方案
2014/06/13 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
golang 实现Location跳转方式
2021/05/02 Golang