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 相关文章推荐
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
Jquery中attr与prop的区别详解
May 27 jQuery
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
JQuery通过后台获取数据遍历到前台的方法
Aug 13 jQuery
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 jQuery
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
详解jQuery中的prop()使用方法
Jan 05 jQuery
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
jQuery实现开关灯效果
Aug 02 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 FPDF类库应用实现代码
2009/03/20 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
jquery与js实现全选功能的区别
2017/06/11 jQuery
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
Vue实现日历小插件
2019/06/26 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python调用摄像头拍摄数据集
2019/06/01 Python
python 遍历pd.Series的index和value
2019/11/26 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
仓管员岗位职责范文
2013/11/08 职场文书
新品发布会策划方案
2014/06/08 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书