博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深入理解事件捕获冒泡
阅读量:5149 次
发布时间:2019-06-13

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

看到一个网友的日志,发现自己对事件冒泡捕获并没有完全理解透。借用一下这个例子和大家探讨一下:

<!-- 假设有html片段如下 -->
<body>
    <div style="width:200px;height:200px;background-color:red;">
</div>
</body> 
<script>
/* 假设有脚本片段如下 */
document.body.addEventListener(
    "mousedown",
    function(e){
        console.log("timing:", e.eventPhase, '事件一');
    },
    false
);
document.body.addEvnetListener(
    "mousedown",
    function(e){
        console.log("timing:", e.eventPhase, "事件二");
    },
    true
);
点击红色区域div,输出:timing: 1 事件二触发 timing: 3 事件一触发 
点击空白区域body  输出:timing: 2 事件一触发 timing: 2 事件二触发 
绑定事件的第三个参数表示事件触发的时机,true是捕获阶段触发,false是冒泡阶段触发,捕获阶段触发事件会稍微快一点点,但是IE只支持事件冒泡。
给元素绑定多个事件 执行的顺序  :标准浏览器下顺序执行,IE下倒序执行    (前提条件--绑定事件的触发时机必须一致,这里是不一定一致的,如果点击body哪eventPhase都为2顺序执行,如果点击红色区域,一个eventPhase为1,一个为3所以为1的先执行)

转载于:https://www.cnblogs.com/chengzhenping/p/3498268.html

你可能感兴趣的文章
【BZOJ 4103】 [Thu Summer Camp 2015]异或运算 可持久化01Trie
查看>>
数据类型
查看>>
CodeForces - 566F Clique in the Divisibility Graph
查看>>
CodeForces - 986C AND Graph
查看>>
[JZOJ5455]【NOIP2017提高A组冲刺11.6】拆网线
查看>>
【MySql】Order By 排序
查看>>
jQuery选择器
查看>>
spring字符编码filter
查看>>
thinkphp5省市区三级联动例子
查看>>
让HttpClient不要打印巨多的日志
查看>>
[笔记] SQL性能优化 - 常用语句(一)
查看>>
openvino安装踩坑记
查看>>
html03
查看>>
LINQ语法详解
查看>>
DICOM:DICOM3.0网络通信协议
查看>>
分享:FIFO 同步、异步以及Verilog代码实现
查看>>
《构建之法》读书笔记2
查看>>
enum 枚举一般用法 dotnet
查看>>
SVM理解
查看>>
ReportServer Tutorial
查看>>