事件流

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .box1{width:400px;height:400px;background: red}
        .box2{width:300px;height:300px;background: blue}
        .box3{width:200px;height:200px;background: green}
    </style>
</head>
<body>
    <div class="box1">
        <div class="box2">
            <div class="box3"></div>
        </div>
    </div>
</body>
<script>
    var obox1 = document.querySelector(".box1")
    var obox2 = document.querySelector(".box2")
    var obox3 = document.querySelector(".box3")

    obox1.addEventListener("click",function(){
        alert("捕获red")
    },true)
    obox1.addEventListener("click",function(){
        alert("冒泡red")
    },false)
    obox2.addEventListener("click",function(){
        alert("捕获blue")
    },true)
    obox2.addEventListener("click",function(){
        alert("冒泡blue")
    },false)
    
    obox3.addEventListener("click",function(){
        alert("green")
    },false)
    
    // 事件流分为三个阶段:
    //     冒泡阶段:从里向外
    //     目标(当前事件)阶段
    //     捕获阶段:从外向内
若同事有冒泡和捕获,先捕获后冒泡。
IE浏览器没有捕获
</script> </html>
复制代码

 

posted @   菜鸟小何  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示