事件冒泡现象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>事件冒泡现象</title><style>div{padding: 50px;}#div1{background: red;}#div2{background: blue;}#div3{background: yellow;}</style><script>window.onload = function(){var aDivs = document.getElementsByTagName('div');for(var i = 0; i < aDivs.length; i++){aDivs[i].onclick = function(){alert(this.id);}}}</script></head>
<body><div id="div1"><div id="div2"><div id="div3"></div></div></div>
</body>
</html>

浏览器效果

阻止事件流的方法:

阻止事件冒泡:
事件对象.cancelBubble=true;  IE8一下阻止事件冒泡
事件对象。stopPropagation(); 其他浏览器阻止事件冒泡

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>事件冒泡阻止</title><style>div{padding: 50px;}#div1{background: red;}#div2{background: blue;}#div3{background: yellow;}</style><script>window.onload = function(){var aDivs = document.getElementsByTagName('div');for(var i = 0; i < aDivs.length; i++){aDivs[i].onclick = function(ev){var e = ev || window.event;alert(this.id);stopBubble(e);}}}/*阻止事件冒泡 *///e为事件对象function stopBubble(e){if(e.cancelBubble){e.cancelBubble = true;//ie8一下阻止方法}else{e.stopPropagation();//其他浏览器阻止方法
            }}/*---阻止事件冒泡---end*/</script></head>
<body><div id="div1"><div id="div2"><div id="div3"></div></div></div>
</body>
</html>

浏览器效果

总结

阻止事件流的固定写法

                /*事件冒泡的浏览器兼容写法*/function stopBubble(e){if(e.cancelBubble){e.cancelBubble = true;//IE8一下阻止事件冒泡}else{e.stopPropagation();//其它浏览器阻止事件冒泡
                    }}

转载于:https://www.cnblogs.com/taohuaya/p/9597529.html

事件流--事件冒泡现象及阻止相关推荐

  1. JavaScript 详说事件流(冒泡、捕获、传播、委托)

    事件流 事件流描述的是从页面中接收事件的顺序. 标准DOM事件流存在三个阶段:事件捕获阶段.处于目标阶段和事件冒泡阶段. 事件捕获:当触发事件时,浏览器会从根节点开始由外到内进行事件传播,即点击了子元 ...

  2. JS事件流(事件冒泡 事件委托)

    DOM事件流 事件流描述的是从页面中接受事件的顺序 事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即DOM事件流 分为三个阶段: 捕获阶段(从上往下,从外往内) 目标阶段 冒泡阶段(从下往 ...

  3. 事件模型、事件流(冒泡与捕获)、事件代理

    本文原链接:https://www.cnblogs.com/hngdlxy143/p/9068282.html https://www.jb51.net/article/139997.htm 事件模型 ...

  4. JavaScript事件流--事件冒泡、目标与事件捕获

    1.事件冒泡 微软提出了名为事件冒泡的事件流.事件冒泡可以形象地比喻为把一颗石头投入水中,泡泡会一直从水底冒出水面.也就是说,事件会从最内层的元素开始发生,一直向上传播,直到document对象. 因 ...

  5. js 事件流的事件冒泡和事件捕获与阻止事件传播

    为了方便引入事件流的概念,我们先来说说什么是事件. 事件就是用户或浏览器自身执行的某种动作.换句话说,我们在浏览网页或者 APP 时,通常会在设备上产生很多交互性的操作,例如点击.选择.滚动屏幕.键盘 ...

  6. JS7day(事件对象,事件流,事件捕获和冒泡,阻止事件流动,事件委托,学生信息表案例)

    文章目录 事件对象 获取事件对象 部分常用属性 事件流 事件捕获概念: 事件冒泡概念: 阻止事件流动: 相同的鼠标经过事件: 两种(监听事件)注册事件的区别: 传统on注册(L0) 事件监听注册(L2 ...

  7. JS基础-事件模型(事件事件流自定义事件事件冒泡/代理)

    文章目录 一.事件与事件流 二.事件模型 1.DOM0级模型 2.IE事件模型 3.DOM2级模型 4.DOM3级事件处理方式 三.事件对象 四.事件绑定与解除 1.事件绑定 1.1对象.on事件名字 ...

  8. 13前端学习之WebAPI(三):节点操作、事件高级、DOM事件流、事件委托冒泡

    文章目录 一.节点操作: 1. 删除节点: 1.2. 案例:删除留言 2. 赋值(克隆)节点: 3. 案例:动态生成表格: 3.1 案例分析: 3.2 实现: 4. 创建元素的三种方式: 4.1 区别 ...

  9. 事件注册方法、阻止默认事件、事件对象、事件冒泡:事件委托、事件捕获、重置表单

    dom两种注册事件语法 1.点语法注册事件: 事件源.事件类型 = 事件处理函数 特点:不能注册'同名事件', 否则会覆盖 2.addEventListener 事件源.addEventListene ...

最新文章

  1. php函数在哪个文件夹下,php删除文件夹及其文件夹下所有文件的函数代码
  2. sony service tel
  3. gradle编译很慢解决方法
  4. 360 您访问的是存在未经证实信息的网站
  5. Java设计模式(八):外观设计模式
  6. Python之schedule:schedule库的简介、安装、使用方法之详细攻略
  7. 设计模式之_工厂系列_03
  8. python服务端开发调试日志系统_Loglog首页、文档和下载 - 基于 Python2.7 的日志系统 - OSCHINA - 中文开源技术交流社区...
  9. 破解校园数字安全难点,联想推出智慧教育安全体系
  10. oracle报错ora-01033解决办法
  11. python报时功能_Python(PyS60)做的简单语音整点报时的实现
  12. 一元三次方程求解matlab_用Matlab ode45函数解常微分方程
  13. CSS网页布局中文排版的9则技巧
  14. 智慧医院数据可视化(数据大屏)
  15. Android MIFARE读写器详解2
  16. 《程序员的修炼之道——从小工到专家》读书笔记
  17. 图形学基础 | 基于物理的渲染理论(PBR)
  18. MAC OS 配置JDK环境变量
  19. 无法翻译此网页的解决办法 - GoogleTranslateIpCheck
  20. 四大只招STEM学生? 30%金融精英将被AI取代...华尔街真的失守了吗?

热门文章

  1. RabbitMQ入门(4)--路由
  2. 专为物联网开发的开源操作系统Contiki(转)
  3. leetcode Edit Distance
  4. ppt文本框显示缺字,信息显示不全
  5. SQL语句 goto
  6. 商品评论html,商品评论列表.html
  7. 女性程序员大会ghc_在女性科技大会上成为男人的感觉
  8. 如何在国内上medium_在Medium上写作的风格指南
  9. 在hadoop上运行python_hadoop上运行python程序
  10. 使用wsdl2java命令生成webservice本地调用代码