博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端面试之浏览器机制中触发事件的三个阶段
阅读量:6582 次
发布时间:2019-06-24

本文共 853 字,大约阅读时间需要 2 分钟。

你知道浏览器事件机制中触发事件的三个阶段是什么吗? 这是经常被问及的问题,现在咱们就来看看.

parent
child
提交
复制代码
var divs=document.querySelectorAll("div");//获取所有的divs    function fn0(){        alert("box");    }    function fn1(){        alert("child");    }    function fn2(){        alert("but");    }    divs[0].addEventListener("click",fn0,false);    divs[1].addEventListener("click",fn1,false);    divs[2].addEventListener("click",fn2,false);复制代码

浏览器机制中触发事件的三个阶段:

  • 事件捕获
  • 事件目标处理函数
  • 事件冒泡

描述:

  • 当达到某个条件触发了某个元素绑定的事件的时候,就会从document顶级元素发送一个事件流,顺着dom树一层一层向下查找,直到找到了目标元素,这个层层查找的过程称为事件的捕获,在这个阶段不会触发绑定的事件.
  • 达到目标元素,这个阶段称为"事件目标处理函数",触发这个元素绑定的事件
  • 然后就从目标元素开始一层层往顶层元素传递,在这个过程中如果发现元素绑定了此类型的事件,就会触发,这就是事件冒泡.

其中addEventListener第三个参数默认为false,代表冒泡阶段执行,如果改为true,就代表在捕获阶段执行. 如果想要阻止冒泡行为,可以用e.stopPropagation() 或 e.cancelBubble = true(IE)

转载地址:http://dssno.baihongyu.com/

你可能感兴趣的文章
C#操作SQL Server数据库
查看>>
Memcache 笔记
查看>>
Swift 实现图片转字符画的功能
查看>>
PHP开发之Zend Studio快捷键汇总
查看>>
李洪强iOS开发之OC[002] - OC中注释以及@符号的使用
查看>>
【转载】COM编程入门不得不看的文章 :第一部分 什么是COM,如何使用COM
查看>>
bug-android之ActivityNotFoundException
查看>>
IT战略规划咨询
查看>>
JavaScript 最佳实践
查看>>
NOIP2013花匠
查看>>
告别脚本小子【编写端口扫描工具】
查看>>
监控录像
查看>>
HtmlHelper使用大全
查看>>
SQLServer 之 聚合函数
查看>>
正则输入非0的整数
查看>>
TortoiseGit与GitHub项目关联设置
查看>>
java模式:深入单例模式
查看>>
Struts2的模板和主题theme及自定义theme的使用
查看>>
ImageView显示图像控件
查看>>
Deepin-文件目录介绍
查看>>