Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • 事件捕获和事件冒泡

事件捕获和事件冒泡

addEventListener 默认是捕获还是冒泡

默认是冒泡

addEventListener第三个参数默认为 false 代表执行事件冒泡行为。

当为 true 时执行事件捕获行为。

例子

<div id="box">
    <div id="outer">
        <div id="inner"></div>
    </div>
</div>
<style>
    #box {
        width: 200px;
        height: 200px;
        background: #222;
    }
    #outer {
        width: 100px;
        height: 100px;
        background: #ddd;
    }
    #inner {
        width: 50px;
        height: 50px;
        background: #eee;
    }
</style>
<script>
    var outer = document.getElementById("outer");
    var inner = document.getElementById('inner');
    var oBox = document.getElementById('box');
    oBox.addEventListener("click", function () {
        alert('1');
    }, true)
    oBox.addEventListener("click", function () {
        alert('4');
    }, false)
    outer.addEventListener("click", function () {
        alert("2");
    }, true);
    inner.addEventListener("click", function () {
        alert('3.2')
    }, false)

    inner.addEventListener("click", function () {

        alert("3.1");

    }, true);


</script>

结果

现在点击obox依次弹出 1 和 4 ,点击 outer 依次弹出 1,2,4,而点击 inner 依次弹出 1,2,3.1,3.2,4

若都改为false

结果为

3.2 3.1 2 1 4
Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人