Products
GG网络技术分享 2025-03-18 16:16 0
jQuery 4.0.0 beta 现已发布,进行了一些错误修复、性能改进和一些破坏性变更。
公告指出,其中很多突破性变更都是团队多年来一直想做的,但却无法在补丁或小版本中实现的。新版本删减了遗留代码,移除了一些以前已经弃用的 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和focosoutevent order
长期以来,浏览器对 focus 和 blur事件的顺序(包括 focusin、focusout、focus 和 blur)并不一致。jQuery 4.0 支持的所有浏览器的最新版本都趋向于统一事件顺序。但是它与 jQuery 多年前选择的一致顺序不同,所以促使这一改变变成了一个破坏性的变更。
jQuery 在以前的版本中对所有四个事件的顺序是:
1. focusout
2. blur
3. focusin
4. focus
从 jQuery 4.0 开始,不再override native behavi。这意味着除 IE 之外的所有浏览器都将遵循当前的 W3C 规范,即:
1. blur
2. focusout
3. focus
4. 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://code.jquery.com/jquery-4.0.0-beta.js
https://code.jquery.com/jquery-4.0.0-beta.min.js
也可以从 npm 获取此版本:
npm install jquery@4.0.0-beta
Demand feedback