开源前端框架——“锋利的jQuery”发布4.0首个Beta版本
发表时间:Tue Feb 13 2024 22:45:17 GMT+0800 (中国标准时间)
jQuery 4.0.0 发布了首个 Beta 版本。
jQuery 是一个快速、小型且功能丰富的 JavaScript 库。通过易于使用的 API(可在多种浏览器中使用),使 HTML 文档的遍历和操作、事件处理、动画和 Ajax 等操作变得更加简单。结合了多功能性和可扩展性,jQuery 改变了数百万人编写 JavaScript 的方式。
公告指出,4.0 中很多破坏性变更都是团队多年来一直想做的,但却无法在补丁或小版本中实现的。
新版本删减了遗留代码,移除了一些以前已经弃用的 API,移除了一些从未记录在案的 public functions 的 internal-only 参数,并放弃了对一些过于复杂的 "magic" 行为的支持。
一些更新内容包括:
Goodbye IE<11
不再支持 IE 10 及更早版本。按照分阶段取消支持计划,预计下一步将在 jQuery 5.0 中取消对 IE 11 的支持。
同时还放弃了对其他旧版浏览器的支持,包括 Edge Legacy、iOS <11、Firefox <65 和 Android 浏览器。对于还有需要的用户,则可以选择继续坚持使用 jQuery 3.x。
删除已弃用的 API
jQuery.cssNumber
jQuery.cssProps
jQuery.isArray
jQuery.parseJSON
jQuery.nodeName
jQuery.isFunction
jQuery.isWindow
jQuery.camelCase
jQuery.type
jQuery.now
jQuery.isNumeric
jQuery.trim
jQuery.fx.interval
删除了 push, sort 以及 splice
jQuery 原型中的 Array 方法 push, sort 以及 splice 已经被删除。这些方法的行为与任何其他 jQuery 方法不同,并且始终是 internal-use only。目前,这些方法已转换为等效的 Array 函数。例如,$elems.push( elem ) 变成了 [].push.call( $elems, elem )。
focusin 和focosout event order
长期以来,浏览器对 focus 和 blur 事件的顺序(包括 focusin、focusout、focus 和 blur)并不一致。jQuery 4.0 支持的所有浏览器的最新版本都趋向于统一事件顺序。但是它与 jQuery 多年前选择的一致顺序不同,所以促使这一改变变成了一个破坏性的变更。
jQuery 在以前的版本中对所有四个事件的顺序是:
- focusout
- blur
- focusin
- focus
从 jQuery 4.0 开始,不再 override native behavi。这意味着除 IE 之外的所有浏览器都将遵循当前的 W3C 规范,即:
- blur
- focusout
- focus
- focusin
除 Internet Explorer 之外的所有浏览器都将遵循当前的 W3C 规范。
FormData 支持
jQuery.ajax 添加了对二进制数据的支持,包括 FormData。
此外,jQuery 4.0 还删除了自动 JSONP 升级、将 jQuery source 迁移至 ES 模块;以及添加了对 Trusted Types 的支持,确保以 TrustedHTML 封装的 HTML 能以不违反 require-trusted-types-for 内容安全策略指令的方式用作 jQuery 操作方法的输入。
由于删除了 Deferreds 和 Callbacks(现在压缩后不到 20k 字节),jQuery 4.0.0 的 slim build 变得更加小巧。
更多详情可查看官方公告:
https://blog.jquery.com/2024/02/06/jquery-4-0-0-beta/
往期推荐
“小而美”Tauri已支持iOS和Android,你还在用“技术毒瘤”Electron?
这里有最新开源资讯、软件更新、技术干货等内容
点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦