jQuery 4.0.0 beta 发布

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 和focosout event order

长期以来,浏览器对 focus 和 blur 事件的顺序(包括focusinfocusoutfocusblur)并不一致。jQuery 4.0 支持的所有浏览器的最新版本都趋向于统一事件顺序。但是它与 jQuery 多年前选择的一致顺序不同,所以促使这一改变变成了一个破坏性的变更。

扫描二维码关注公众号,回复: 17378557 查看本文章

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 变得更加小巧。

更多详情可查看官方公告

下载:

也可以从 npm 获取此版本:

npm install [email protected]

猜你喜欢

转载自www.oschina.net/news/278286/jquery-4-0-0-beta