登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
资源区
›
代码
›
Web前端入门第 75 问:JavaScript 性能优化之事件委托( ...
Web前端入门第 75 问:JavaScript 性能优化之事件委托(事件代理)原理
[ 复制链接 ]
蚬蕞遂
2025-9-26 10:33:59
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
如今 Vue 大行其道,大部分开发场景直接使用 @click 就实现了事件绑定,可能都没思索过 JS 中的事件性能优化。
事件委托原理
事件委托 其主要是利用了事件冒泡这个特性。
以点击事件 click 为例:将事件绑定在父元素上,点击子元素会通过冒泡的方式触发父元素的点击事件。这种绑定事件的方式,就称之为 事件委托,也称为 事件代理。
示例
利用事件委托实现点击 span 元素输出 span 元素内容:
<ul >
div 内容
<li>第 1 个 li 第 1 个 span 内容</li>
<li>第 2 个 li 第 2 个 span 内容</li>
<li>第 3 个 li 第 3 个 span 内容</li>
<li>第 4 个 li 第 4 个 span 内容</li>
<li>第 5 个 li 第 5 个 span 内容</li>
<li>第 6 个 li 第 6 个 span 内容</li>
<li>第 7 个 li 第 7 个 span 内容</li>
<li>第 8 个 li 第 8 个 span 内容</li>
</ul>
复制代码
效果:
点击 div 和 li 元素都不会触发事件,点击 span 元素会在控制台输出元素内容。
优点
1、由于 JS 绑定的事件只有一个父元素,所以节省了内存。
2、无需针对每一个子元素绑定事件,所以减少了子元素的事件注册。
3、对于子元素的增删改不用再新注册事件,所以对子元素的操作要简单很多。
4、对于存在大量子元素的页面,由于减少了事件注册次数,所以可以提高页面性能。
缺点
既然事件委托那么有用,那么能不能直接将页面上所有的事件都委托到 body 元素上?
这想法很丰满,但显示很骨感啊,这种情况如果都绑定到最顶层的元素上,那么会导致所有的子元素都会事件冒泡,然后触发顶层元素的事件,这样反而无法做到性能优化,还造成了一些不必要的浪费,毕竟不是所有的子元素都需要响应事件!!
写在最后
性能优化这条路上,一直都存在各种话题,很多性能优化都是过犹不及,适当的场景用适当的方式才是最合理的。
代码编写并不是一蹴而就,很多时候,能实现功能就是好代码,至于性能,在一些小的需求场景,您写的代码可能都无法触发性能问题~~
坚持一个原则:不要过早优化。当我们的代码确实触发了性能问题,再考虑如何优化吧~~
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
事件
Web
前端
门第
JavaScript
相关帖子
MWGA让千亿行代码在Web端“复活”!
PPT 批量转图片:在 Web 预览中实现翻页效果(C#/VB.NET)
用这个来管理前端项目吧
一些有用的javascript函数
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
前端工程化 - 良好的feature-based-目录结构与具体示例
MindIE 踩坑日记和一个web小工具
前端实现速度线
为什么 SVG 能在现代前端中胜出?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
MWGA让千亿行代码在Web端“复活”!
13
591
凳舒
2026-02-02
安全
PPT 批量转图片:在 Web 预览中实现翻页效果(C#/VB.NET)
8
884
赵淳美
2026-02-06
业界
用这个来管理前端项目吧
9
65
方子楠
2026-02-07
代码
一些有用的javascript函数
12
986
司寇涵涵
2026-02-07
业界
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
2
18
少琼
2026-02-09
业界
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
0
6
厂潺
2026-02-09
代码
前端工程化 - 良好的feature-based-目录结构与具体示例
0
13
胥望雅
2026-02-11
业界
MindIE 踩坑日记和一个web小工具
0
135
志灿隐
2026-02-13
代码
前端实现速度线
0
869
寨亳
2026-02-13
安全
为什么 SVG 能在现代前端中胜出?
0
380
跟尴
2026-02-14
回复
(31)
老僻贞
2025-12-8 20:24:25
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
眺愤
2025-12-31 13:20:34
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
仲水悦
2026-1-5 04:30:56
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
院儿饯
2026-1-5 12:53:39
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
寨重
2026-1-5 18:15:27
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
丘奕奕
2026-1-14 15:10:03
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
劳暄美
2026-1-17 15:19:38
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
顾星
2026-1-19 15:13:28
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
庞环
2026-1-22 13:16:30
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享
那虻
2026-1-24 18:00:42
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
蔬陶
2026-1-25 10:58:41
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
山真柄
2026-1-29 02:37:56
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享
劳暄美
2026-1-29 03:43:24
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
求几少
2026-1-29 07:36:41
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
阜逐忍
2026-2-3 05:58:28
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
寨亳
2026-2-3 23:05:09
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
喳谍
2026-2-5 09:08:17
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
伯斌
2026-2-7 10:30:25
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
豹筒生
2026-2-7 11:20:21
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
程序
安全
签约作者
程序园优秀签约作者
发帖
蚬蕞遂
2026-2-7 11:20:21
关注
0
粉丝关注
24
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9898
6
韶又彤
9918
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9884
10
遗憩
10006
查看更多
今日好文热榜
567
[拆解LangChain执行引擎]非常规Pending Wri
63
AI开发-python-milvus向量数据库(2-8 -mil
77
[LKD/Linux 内核] 关于对 current_thread_i
6
[LKD/Linux 内核] 关于对 current_thread_i
5
[LKD/Linux 内核] 关于对 current_thread_i
536
杂题选做(3)
4
9、PipedInputStream和PipedOutputStream的
753
凸优化数学基础笔记(五):极小值点的判定
856
【节点】[MainLightRealtimeShadow节点]原
11
【渗透测试】HTB靶场之WingData 全过程wp
381
2023年电赛国赛经历
534
从零开始学Flink:实时数仓与维表时态Join
987
Stanford-CS336-Lecture-01 学习理解
663
FastAPI实战:WebSocket长连接保持与心跳机
361
FPGA使用镜像加载技术来切换运行中的比特流
405
赋予 AI Agent “无限续航”:语义保护型上
407
企业健身房器材配置方案:拒绝纸上谈兵,上
5
读人工智能全球格局:未来趋势与中国位势09