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 相关文章推荐
浅谈使用MVC模式进行JavaScript程序开发
Nov 10 Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 Javascript
Highcharts学习之数据列
Aug 03 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
Oct 26 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
redux.js详解及基本使用
May 24 Javascript
vue-cli点击实现全屏功能
Mar 07 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
php操作xml
2013/10/27 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
学习ExtJS Column布局
2009/10/08 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
python访问抓取网页常用命令总结
2017/04/11 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Python PIL库图片灰化处理
2020/04/07 Python
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
房屋维修协议书范本
2014/09/25 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
贫困证明书范文
2015/06/16 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis