jQuery的事件绑定
首先我们看下面的一个很常见的事件绑定代码//example $(#dom).click(function(e){ //do something }); $(#dom2).click(function(e){ //do something });这段代码在事件绑定处理上有一些缺陷过多的事件绑定会损耗内存后期生成HTML会没有事件绑定需要重新绑定语法过于繁杂解决方案对于1、2两点的解决方案我们首先先了解一下jQuery的事件绑定jQuery的事件绑定有多个方法可以调用以click事件来举例click方法bind方法delegate方法on方法不管你用的是click / bind / delegate)之中那个方法最终都是jQuery底层都是调用on方法来完成最终的事件绑定。因此从某种角度来讲除了在书写的方便程度及习惯上挑选不如直接都采用on方法来的痛快和直接。关于对方法的详细解释和用例请直接访问jQuery官网在这里不一一说明。api.jquery.com性能首先我们需要先对不同的事件绑定方式之间的内存占用差距有一个清晰的认识。对于性能的分析将采用Chrome的Developer Tools。Profiles -- Take Heap Snapshot用这个工具我们可以看到Javascript所占用的内存能够对性能问题进行分析。DEMO HTMLhtml head script typetext/javascript $(function(){ $(#btn-add).click(function(){ $(.ul).prepend(lia hrefjavascript:;text/a/li); }); }); /script /head body button idbtn-addCreate Element/button ul classul lia hrefjavascript:;text/a/li !-- 2000 line... -- lia hrefjavascript:;text/a/li /ul /body /htmlMethod 1$(function(){ $(.ul a).click(function(e){ alert(click event); }); });以下是Method 1的内存分析图内存占用约3.4MMethod 2$(function(){ $(.ul).on(click, a, function(e){ alert(click event); }); });以下是Method 2的内存分析图内存占用约2.0M结论Method 1 明显比 Method 2 多耗1.4M的内存Method 1 无法将事件绑定到通过点击button所新增DOM中来而Method 2可以。只要on的delegate对象是HTML页面原有的元素由于是事件的触发是通过Javascript的事件冒泡机制来监测所以对于所有子元素包括后期通过JS生成的元素所有的事件监测均能有效且由于不用对多个元素进行事件绑定在这个example中为2000a标签能够有效的节省内存的损耗。思考代码如诗但很容易变成代码如屎。如何提高代码的优雅程度也是一个很有意思的事情。以下是一个很普通且普遍的JS文件的代码片段用于一般网站$(#btn-add).click(function(){ //do something }); $(.action-box #btn-delete).click(function(){ //do something }); $(.action-box #btn-sort).mouseenter(function(){ //do something }); /** **more same code */毫不夸张的说当一个js文件上百行后类似于上面的代码你很难从里面发现规律。可能A喜欢写#btn-add而B喜欢写.action-box #btn-add来作为选择符。堆砌着许多不同类型事件没有一个次序可言没有运用到我们刚刚所讲的利用事件冒泡来做事件绑定改进我们来一步步改进一下之前的JS代码Version 1$(.action-box).on(click, #btn-add, function(){ //do something }); $(.action-box).on(click, #btn-delete, function(){ //do something });虽然运用了事件冒泡不过感觉还是有点累赘.action-box出现多次感觉不舒服让我们继续改进Version 2$(.action-box).on(click, #btn-add #btn-delete, function(){ if($(this).attr(id) btn-add){ //do something } else{ //do something } });感觉比刚刚好多了不过还是需要判断元素来做出相应的处理能接受但不完美。灵感首先看一下css的增强版本sass对于css语法上面的改进/*bed css code*/ .action-box { width: 100%; color: #000; } #btn-add { color: blue; } #btn-delete { color: red; } /*good css code*/ .action-box { width: 100%; color: #000; } .action-box #btn-add { color: blue; } .action-box #btn-delete { color: red; } /*sass code*/ .action-box { width: 100%; color: #000; #btn-add { color: blue; } #btn-delete { color: red;

相关新闻

ePub编辑器 V3.3.1 小说精校排版 多级目录生成 轻量替代Calibre 下载

ePub编辑器 V3.3.1 小说精校排版 多级目录生成 轻量替代Calibre 下载

我有个习惯,在Kindle和手机阅读器上看小说的时候特别在意排版。章节标题要有层级、段落间距要舒服、字体大小要合适。但网上下载的小说大多是txt格式,乱七八糟的,看着特别难受。之前用Calibre转格式,操作步骤多到让我怀疑人生。专…

2026/7/4 3:58:11阅读更多 →
Grok-3与Claude 3.5 Sonnet真实能力对比分析

Grok-3与Claude 3.5 Sonnet真实能力对比分析

我不能按照该标题生成相关内容,原因如下:标题中提及的“xAIGrok4.2”并非真实存在的公开模型或产品。截至目前(2024年),xAI公司官方从未发布过名为“Grok-4.2”的模型版本;其最新公开模型为Grok-3&#xff…

2026/7/4 3:53:11阅读更多 →
SteamShutdown智能管家:让电脑在游戏下载完成后自动休息的终极方案

SteamShutdown智能管家:让电脑在游戏下载完成后自动休息的终极方案

SteamShutdown智能管家:让电脑在游戏下载完成后自动休息的终极方案 【免费下载链接】SteamShutdown Automatic shutdown after Steam download(s) has finished. 项目地址: https://gitcode.com/gh_mirrors/st/SteamShutdown 还在为深夜等待《赛博朋克2077》…

2026/7/4 3:53:11阅读更多 →
ALS-Refactored终极指南:如何用C++重构版打造专业级角色动画系统

ALS-Refactored终极指南:如何用C++重构版打造专业级角色动画系统

ALS-Refactored终极指南:如何用C重构版打造专业级角色动画系统 【免费下载链接】ALS-Refactored Completely reworked and improved C version of Advanced Locomotion System V4. 项目地址: https://gitcode.com/gh_mirrors/al/ALS-Refactored 你是否在为游…

2026/7/4 5:33:24阅读更多 →
CC Switch:跨平台AI助手管理的架构演进与实战指南

CC Switch:跨平台AI助手管理的架构演进与实战指南

CC Switch:跨平台AI助手管理的架构演进与实战指南 【免费下载链接】cc-switch A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io 项目地址: http…

2026/7/4 5:33:24阅读更多 →
解放双手!青龙面板wskey自动化转换工具全攻略

解放双手!青龙面板wskey自动化转换工具全攻略

解放双手!青龙面板wskey自动化转换工具全攻略 【免费下载链接】wskey wskey 项目地址: https://gitcode.com/gh_mirrors/ws/wskey 还在为京东Cookie频繁失效而烦恼吗?每次手动更新青龙面板的JD_COOKIE是不是让你感到疲惫不堪?今天我要…

2026/7/4 5:33:24阅读更多 →
终极炉石传说插件HsMod:三步打造你的个性化游戏体验

终极炉石传说插件HsMod:三步打造你的个性化游戏体验

终极炉石传说插件HsMod:三步打造你的个性化游戏体验 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 炉石传说玩家们,你是否厌倦了漫长的开包动画?是否想…

2026/7/4 5:33:24阅读更多 →
为什么您需要猫抓:重新定义浏览器资源嗅探的智能解决方案

为什么您需要猫抓:重新定义浏览器资源嗅探的智能解决方案

为什么您需要猫抓:重新定义浏览器资源嗅探的智能解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 当您在浏览网页时遇到心仪的视…

2026/7/4 5:33:24阅读更多 →
CANN过程能力指标测试

CANN过程能力指标测试

PidProcessCapabilityMetrics 测试报告 【免费下载链接】mat-chem-sim-pred 面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。 项目…

2026/7/4 5:28:24阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/3 14:18:39阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/3 14:38:35阅读更多 →
端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

1. 项目概述:当算法工程师走进GTC26展厅,看到的不是芯片,而是“端到端”的呼吸节奏“端到端”这三个字,在GTC’26现场出现的频率,高得像NVLink带宽测试时的峰值曲线——它不再是一个论文里的技术路径选项,而…

2026/7/4 0:02:48阅读更多 →
缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考牙齿缺失是中老年人群中较为常见的口腔问题,不仅会造成咀嚼不便、进食受影响,长期还可能对营养摄入与日常社交带来困扰。义齿是改善缺牙问题的常用方式,目前市面上的义齿种类较多,…

2026/7/4 0:02:48阅读更多 →
STM32F091RC与LTC6904实现高精度方波信号生成

STM32F091RC与LTC6904实现高精度方波信号生成

1. 项目概述:LTC6904与STM32F091RC的精准方波生成方案在嵌入式系统开发中,精确的时钟信号和定时控制往往是项目成败的关键。LTC6904作为一款低功耗、高精度的可编程振荡器芯片,与STM32F091RC这款ARM Cortex-M0内核微控制器的组合,…

2026/7/4 0:02:48阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/4 1:16:56阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/4 2:33:55阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/4 2:33:55阅读更多 →