简单解析事件捕捉

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 简单解析事件捕捉上篇博客说到了事件冒泡,其实在JavaScript中,说到事件冒泡还有两个个不得不提的事件捕获和默认事件,我们先来说一下事件捕获。效果如下图:在这里插入图片描述HTML代码: <div class="box1"> <div class="box2"> <div class="box3"> <div class="box4"></div> </div> </div> </div> 1 2 3 4 5

简单解析事件捕捉




上篇博客说到了事件冒泡,其实在JavaScript中,说到事件冒泡还有两个个不得不提的事件捕获和默认事件,我们先来说一下事件捕获。效果如下图:


在这里插入图片描述

20200603021204695.gif

HTML代码:


<divclass="box1"><divclass="box2"><divclass="box3"><divclass="box4"></div></div></div></div>

CSS代码:

* {
            margin: 0;
            padding: 0;
        }
        .box1 {
            width: 400px;
            height: 400px;
            background: red;
        }
        .box2 {
            width: 300px;
            height: 300px;
            background: yellow;
        }
        .box3 {
            width: 200px;
            height: 200px;
            background: skyblue;
        }
        .box4 {
            width: 100px;
            height: 100px;
            background: green;
        }


JS代码:


// 04事件捕捉
    // addEventListener("事件",function(){},fasle(默认,事件冒泡阶段执行)/true)  
    // 事件监听  
    var oBox1=document.getElementsByClassName("box1")[0];
    var oBox2=document.getElementsByClassName("box2")[0];
    var oBox3=document.getElementsByClassName("box3")[0];
    var oBox4=document.getElementsByClassName("box4")[0];
    oBox1.addEventListener("click",function(ev){
        var ev=ev||window.event;
        console.log("box1");
        // alert("box1");
    },true)
    oBox2.addEventListener("click",function(ev){
        var ev=ev||window.event;
        console.log("box2");
        // alert("box1");
    },true)
    oBox3.addEventListener("click",function(ev){
        var ev=ev||window.event;
        console.log("box3");
        // alert("box1");
    },true)
    oBox4.addEventListener("click",function(ev){
        var ev=ev||window.event;
        console.log("box4");
        // alert("box1");
    },true)

视频讲解链接:
https://www.bilibili.com/video/BV1Ag4y1q7YB/

相关文章
|
6月前
|
存储 开发框架 开发者
QT C++焦点事件:多角度解析实用技巧与方法
QT C++焦点事件:多角度解析实用技巧与方法
1253 0
|
6月前
|
Java Android开发
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
722 0
|
6月前
|
JavaScript 前端开发 C++
Javaweb之javascript事件的详细解析
1.6 JavaScript事件 1.6.1 事件介绍 如下图所示的百度注册页面,当我们用户输入完内容,百度可以自动的提示我们用户名已经存在还是可以使用。那么百度是怎么知道我们用户名输入完了呢?这就需要用到JavaScript中的事件了。
70 0
|
6月前
|
Web App开发 前端开发
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
230 0
|
2月前
|
传感器 C# Android开发
深度解析Uno Platform中的事件处理机制与交互设计艺术:从理论到实践的全方位指南,助您构建响应迅速、交互流畅的跨平台应用
Uno Platform 是一款开源框架,支持使用 C# 和 XAML 开发跨平台原生 UI 应用,兼容 Windows、iOS、Android 及 WebAssembly。本文将介绍 Uno Platform 中高效的事件处理方法,并通过示例代码展示交互设计的核心原则与实践技巧,帮助提升应用的用户体验。事件处理让应用能响应用户输入,如点击、触摸及传感器数据变化。通过 XAML 或 C# 添加事件处理器,可确保及时反馈用户操作。示例代码展示了一个按钮点击事件处理过程。此外,还可运用动画和过渡效果进一步增强应用交互性。
148 57
|
1月前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
94 0
|
2月前
|
图形学 开发者 UED
Unity游戏开发必备技巧:深度解析事件系统运用之道,从生命周期回调到自定义事件,打造高效逻辑与流畅交互的全方位指南
【8月更文挑战第31天】在游戏开发中,事件系统是连接游戏逻辑与用户交互的关键。Unity提供了多种机制处理事件,如MonoBehaviour生命周期回调、事件系统组件及自定义事件。本文介绍如何有效利用这些机制,包括创建自定义事件和使用Unity内置事件系统提升游戏体验。通过合理安排代码执行时机,如在Awake、Start等方法中初始化组件,以及使用委托和事件处理复杂逻辑,可以使游戏更加高效且逻辑清晰。掌握这些技巧有助于开发者更好地应对游戏开发挑战。
121 0
|
5月前
|
存储 Java API
Java中的CQRS和事件溯源模式解析
Java中的CQRS和事件溯源模式解析
|
设计模式 Go
Go语言事件系统设计解析:发布-订阅模式实战
Go语言事件系统设计解析:发布-订阅模式实战
462 0

推荐镜像

更多