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 控制文本框自动缩小字体填充
Jun 16 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
jquery获取链接地址和跳转详解(推荐)
Aug 15 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
jquery插件懒加载的示例
Oct 24 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
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
json 定义
2008/06/10 Javascript
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
js 函数的副作用分析
2011/08/23 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
ParseInt函数参数设置介绍
2014/01/02 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
python编写的最短路径算法
2015/03/25 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
如何给Python代码进行加密
2020/01/10 Python
python实现批处理文件
2020/07/28 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
环保公益广告语
2014/03/13 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
停车场管理协议书范本
2014/10/08 职场文书
六年级学生评语大全
2014/12/26 职场文书
2015年度女工工作总结
2015/10/22 职场文书
初中信息技术教学反思
2016/02/16 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers