【前端知识之JS】JS中的事件模型和事件代理

本文深入探讨了JavaScript中的事件模型,包括DOM0级、DOM2级和IE事件模型,重点阐述了事件流的概念及冒泡和捕获阶段。此外,详细介绍了事件委托的原理、应用场景和注意事项,强调了其在优化性能和处理动态元素中的优势。
摘要由CSDN通过智能技术生成

前言

本系列主要整理前端面试中需要掌握的知识点。本节介绍 JS中的事件模型和事件代理 。


一、事件与事件流

事件:在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性,常见的有加载事件、鼠标事件、自定义事件。
事件流:由于DOM是个树结构,如果在父子节点绑定事件时候,当触发子节点的时候,就存在一个顺序的问题,这就是事件流。
事件流都会经历的三个阶段

  • 事件捕获阶段;
  • 处于目标阶段;
  • 事件冒泡阶段。
    在这里插入图片描述
    事件冒泡:一种从下往上的传播方式,由最具体的元素然后逐渐向上传播到最不具体的那个节点,也就是DOM的高层的父节点。
<body>
    <button id="btn">Click me!</button>
</body>

<script>
    var btn = document.getElementById('btn');

    btn.onclick = function(){
     
        console.log("1.Button");
    }
    document.body.onclick = function(){
     
        console.log("2.Body");
    }
    document.onclick = function(){
     
        console.log("3.document");
    }
    window.onclick = function(){
     
        console
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值