<>addEventListener第三参数冒泡和捕获详细说明

<>1.addEventListener参数说明

target.addEventListener(type, listener, useCapture);

参数一: type
表示监听事件类型的字符串。
参数二: listener
当所监听的事件类型触发时,会接收到一个事件通知(实现了 Event 接口的对象)对象。listener 必须是一个实现了 EventListener
接口的对象,或者是一个函数。有关回调本身的详细信息,请参阅事件监听回调
参数三: options 可选
一个指定有关 listener 属性的可选参数对象。可用的选项如下:
capture: Boolean,表示 listener 会在该类型的事件捕获阶段传播到该 EventTarget 时触发。(useCapture 默认为
false )

<>2.useCapture的冒泡和捕获区别,请看案例(最下方为源代码)

当点击div "fang4"时,useCapture的改变案例如下
<>2.1下方4个div的addEventListener中useCapture默认全为false时,触发事件顺序

<>2.2下方4个div的addEventListener中useCapture默认全为true时,触发事件顺序

<>2.3下方4个div的useCapture分别为fang1捕获true,fang2冒泡false,fang3捕获true,fang4冒泡false

<>2.4下方4个div的useCapture分别为fang1冒泡false,fang2捕获true,fang3冒泡false,fang4捕获true

<>源代码add.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>addEventListener</
title> </head> <body> <div id="fang1">fang1 <div id="fang2">fang2 <div id="fang3
">fang3 <div id="fang4">fang4 </div> </div> </div> </div> </body> <style> #fang1
{ width: 200px; height: 200px; background-color: yellowgreen; } #fang2{ width:
150px; height: 150px; background-color: green; } #fang3{ width: 100px; height:
100px; background-color: yellow; } #fang4{ width: 50px; height: 50px;
background-color: olivedrab; } </style> <script> var fang1 = document.
getElementById("fang1"); var fang2 = document.getElementById("fang2"); var fang3
= document.getElementById("fang3"); var fang4 = document.getElementById("fang4")
; fang1.addEventListener("click", function(e){ console.log(1) },false) fang2.
addEventListener("click", function(e){ console.log(2) },false) fang3.
addEventListener("click", function(e){ console.log(3) },false) fang4.
addEventListener("click", function(e){ console.log(4) },false) </script> </html>

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信