原创整理:前端大全(id:FrontDev)
4 月 10 日,jQuery 官博发文宣告 jQuery 3.4.0 正式发布。距离 2018 年 1 月发布 v 3.3.0 版已有一年多了。
jQuery 官方表示,这是 3.x 系列的最后一个版本,他们将全力准备 jQuery 4.0。
jQuery 3.4.0 的部分亮点如下:
1、提升 .width 和 .height 的性能
在获取和设置维度时,在某些情况下可能会导致布局抖动,这基本上意味着浏览器计算布局的次数超出了必要的次数。除了 IE 浏览器,jQuery 在其他浏览器中都修正了这个问题。
2、支持 nonce 和 nomodule
为了支持通过 .html 和 .append 等方法添加脚本元素,jQuery 将它们分离,并添加新的脚本标记来加载和执行远程内容。在这个过程中,nonce 和 nomodule 等属性在以前版本中被忽略,但 jQuery 3.4.0 现在支持了。
3、Radio 元素:事件处理程序中的预期状态
复选框的相同问题此前早就修复了,但漏了 Radio。在下面的示例中,在第一次单击元素时记录 true。
var $radios = jQuery(\".example\");var $firstRadio = $radios.first();var firstCheckedState = $firstRadio.prop(\"checked\");$radio.on(\"click\", function() {// true in <3.4.0console.log($firstRadio.prop(\"checked\") === firstCheckedState);});$radios.eq(1).click();
这次修正了,在执行事件处理程序之前更新 checked 属性。
4、废弃了一些位置选择器和 Sizzle
jQuery 的基本 API 是选择一些对象,然后对所选对象执行一些操作。Sizzle 是 jQuery 的选择器引擎,快速高效。Sizzle 为诸如 querySelectorAll 的原生选择器 API,以及其他 JS 和 CSS 的选择器铺平了道路。
如今,这些选择器中的许多已经集成到了现代浏览器,是时候和 Sizzle 说再见了。
但是为了在 jQuery 4.0 中消除 Sizzle,我们还需要删除我们所说的位置选择器,它们是非标准选择器。
jQuery 3.4.0 删除的选择器包括:first、:last、:eq、:even、:odd、:lt、:gt 和 :nth。
更多详情,请参见:
http://blog.jquery.com/2019/04/10/jquery-3-4-0-released/