当前位置: 首页 > news >正文

前端面经整理【2】

注:纯手打,如有错误欢迎评论区交流!
转载请注明出处:https://blog.csdn.net/testleaf/article/details/148636477
编写此文是为了更好地学习前端知识,如果损害了有关人的利益,请联系删除!
本文章将不定时更新,敬请期待!!!
欢迎点赞、收藏、转发、关注,多谢!!!

目录

    • 【1】事件委托

【1】事件委托

事件委托是一种利用 ​​事件冒泡(Event Bubbling)​​ 机制,将子元素的事件监听委托给父元素统一处理的优化技术。它能够显著减少事件监听器的数量,提升性能,并动态处理新增元素。

核心原理​​:

  • ​​事件冒泡​​:当子元素触发事件(如点击),事件会向上冒泡到父元素、祖先元素,直到 document
  • ​​委托逻辑​​:在父元素上监听事件,通过 event.target 判断实际触发的子元素,执行对应逻辑。

实现示例​​:
​​场景​​:一个 <ul> 包含多个 <li>,点击任一 <li> 时高亮它。
​​传统方法(直接绑定)​:

document.querySelectorAll('li').forEach(li => {li.addEventListener('click', () => {li.style.backgroundColor = 'yellow';});
});

问题​​:每个 <li> 都绑定监听器,数量多、性能差,且新增 <li> 需手动绑定。

​​事件委托方法​:

document.querySelector('ul').addEventListener('click', (event) => {// 检查触发的是否是 <li>if (event.target.tagName === 'LI') {event.target.style.backgroundColor = 'yellow';}
});

优势​​:

  • 只需一个监听器。
  • 自动支持动态新增的 <li>
http://www.xdnf.cn/news/1025173.html

相关文章:

  • 【无标题】二维拓扑色动力学模型:数学物理基础与可行性论证
  • 窗口函数详解​
  • Jmeter调用jar包中的方法,并使用返回值当请求参数
  • 如何在Linux命令窗口中执行MySQL脚本
  • HarmonyOS 5 Cordova有哪些热门插件?
  • 【均价趋势副图指标】识别洗盘,拉升,最佳潜伏点,止盈防守跟踪操盘技术图文解说
  • 单向实时通信技术SSE
  • 【MySQL InnoDB存储引擎的「页/区/段」结构的深度解析】
  • 【Canvas与艺术】多边形扩展车轮
  • 63页精品PPT | 数字化企业转型大数据解决方案企业数字化转型解决方案
  • SVN迁移Git(保留历史提交记录)
  • QEMU学习之路(9)— 在RISCV64 virt中添加DMA设备
  • LeetCode - 904. 水果成篮
  • MATLAB | 如何使用MATLAB获取《Nature》全部绘图 (附23-25年图像)
  • 功能测试—软件的生命周期
  • 内存泄漏排查
  • 新手前端开发常见问题之层级问题
  • 洛谷:B4163 [BCSP-X 2024 12 月初中组] 序列选择
  • 《棒垒球百科》棒球、垒球奥运会运动员规定·棒球1号位
  • 前端项目Excel数据导出同时出现中英文表头错乱情况解决方案。
  • 【Python办公】使用pandas批量读取csv保存为Excel
  • 上传视频报错 413 Request Entity Too Large
  • 《Transformer 的奇妙图书馆:一场关于注意力的冒险》
  • Zemax光学设计自学
  • 泰国跨境电商系统开发:多语言多币种 + 国际物流对接,中泰贸易桥梁
  • 用电子垃圾DIY一个可调小电源(5-12V)
  • 69、JS中如何调用上位机接口
  • 苹果WWDC 2025 技术趋势分析
  • SAP生产订单技术性完成(TECO)操作指南与实战应用
  • 写作中的贪念