下面代码的正确运行结果是什么?

代码如下所示:


<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<div id="div2">

    <div id="div1">点我</div>

</div>

<script type="text/javascript">

    var div2=document.getElementById('div2');

    var div1=document.getElementById('div1');

    div1.addEventListener('click', function(event){console.log("A");}, true);

    div2.addEventListener('click', function(event){console.log("B");});

    div1.addEventListener('click', function(event){console.log("C");}, false);

    div2.addEventListener('click', function(event){console.log("D");}, true);

</script>

</body>

</html>

当点击 点我 时,为什么输出结果是DACB????


 评论邀请回答编辑


aluckdog
浏览 562回答 1
1回答

ibeautiful

结构为div2包裹着div1;点击事件穿透进去,又冒泡出来,所以依次触发DACBuseCapture设为true时,穿透时触发。addEventListener最后一个值:useCapture可选。布尔值,指定事件是否在捕获或冒泡阶段执行。可能值:true - 事件句柄在捕获阶段执行false- false- 默认。事件句柄在冒泡阶段执行
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript