javascript 中事件冒泡和事件捕获机制的详解


Posted in Javascript onSeptember 01, 2017

javascript 中事件冒泡和事件捕获机制的详解

二者作用:描述事件触发时序问题

事件捕获:从document到触发事件的那个节点,即自上而下的去触发事件---由外到内

事件冒泡:自下而上的去触发事件---由内到外

绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获

true,事件捕获;false,事件冒泡

一般默认false,即事件冒泡

Jquery的e.stopPropagation会阻止冒泡,意思就是到DOM为止,祖先级的事件就不要触发了 

下面是我尝试的例子:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <title>事件冒泡与事件捕获</title> 
  <script> 
    window.onload = function () { 
      document.getElementById("parent").addEventListener("click",function(e){ 
        alert("parent事件被触发,"+this.id); 
      },true) 
      document.getElementById("child").addEventListener("click",function(e){ 
        alert("child事件被触发,"+this.id) 
      },true) 
    } 
 
  </script> 
</head> 
<body> 
<div id="parent"> 
  parent事件 
  <div id="child" class="child"> 
  child事件 
  </div> 
</div> 
</body> 
</html>

 例子里我加了第三个true,是事件捕获。

如果不加则是默认的事件冒泡,这时候事件触发时序就是自内向外

以上就是javascript 中事件冒泡和事件捕获机制的详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JavaScript Event学习第七章 事件属性
Feb 07 Javascript
jQuery EasyUI 中文API Layout(Tabs)
Apr 27 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
jquery仿搜索自动联想功能代码
May 23 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
Aug 05 Javascript
vue组件实例解析
Jan 10 Javascript
Vue中自定义全局组件的实现方法
Dec 08 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 Javascript
js数组中去除重复值的几种方法
Aug 03 Javascript
Vue的Class与Style绑定的方法
Sep 01 #Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
Sep 01 #Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
Sep 01 #Javascript
Angularjs实现上传图片预览功能
Sep 01 #Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 #Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
Sep 01 #Javascript
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 #jQuery
You might like
基于文本的访客签到簿
2006/10/09 PHP
PHP中的日期及时间
2006/11/23 PHP
PHP程序员编程注意事项
2008/04/10 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
2019/11/13 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
js 上传图片预览问题
2010/12/06 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
vue项目打包之后背景样式丢失的解决方案
2019/01/17 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
pytorch数据预处理错误的解决
2020/02/20 Python
基于python实现计算两组数据P值
2020/07/10 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
python3排序的实例方法
2020/10/20 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
铭万公司.net面试题笔试题
2014/07/20 面试题
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
环境监测与治理技术专业求职信
2014/07/06 职场文书
大连星海广场导游词
2015/02/10 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers