原創整理:前端大全(id:FrontDev)html
4 月 10 日,jQuery 官博發文宣告 jQuery 3.4.0 正式發佈。距離 2018 年 1 月發佈 v 3.3.0 版已有一年多了。前端
jQuery 官方表示,這是 3.x 系列的最後一個版本,他們將全力準備 jQuery 4.0。jquery
jQuery 3.4.0 的部分亮點以下:ios
一、提高 .width 和 .height 的性能瀏覽器
在獲取和設置維度時,在某些狀況下可能會致使佈局抖動,這基本上意味着瀏覽器計算佈局的次數超出了必要的次數。除了 IE 瀏覽器,jQuery 在其餘瀏覽器中都修正了這個問題。app
二、支持 nonce 和 nomoduleide
爲了支持經過 .html 和 .append 等方法添加腳本元素,jQuery 將它們分離,並添加新的腳本標記來加載和執行遠程內容。在這個過程當中,nonce 和 nomodule 等屬性在之前版本中被忽略,但 jQuery 3.4.0 如今支持了。佈局
三、Radio 元素:事件處理程序中的預期狀態性能
複選框的相同問題此前早就修復了,但漏了 Radio。在下面的示例中,在第一次單擊元素時記錄 true。code
var $radios = jQuery(".example"); var $firstRadio = $radios.first(); var firstCheckedState = $firstRadio.prop("checked"); $radio.on("click", function() { // true in <3.4.0 console.log($firstRadio.prop("checked") === firstCheckedState); }); $radios.eq(1).click();
此次修正了,在執行事件處理程序以前更新 checked 屬性。
四、廢棄了一些位置選擇器和 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。
更多詳情,請參見: