發(fā)布于:2021-02-06 00:00:56
0
129
0
jQuery 3.0的Alpha版本已經(jīng)著陸,并且著重于更新以更匹配HTML5數(shù)據(jù)集規(guī)范。構(gòu)建,核心和CSS更改占據(jù)了該發(fā)行版的大部分,而jQuery Promises也引起了一些關注。
jQuery是另一個主要版本著手在jQuery 3.0阿爾法到達 一個新的版本腫塊。加入發(fā)布聚會的是jQuery Compat 3.0,其中包括對Internet Explorer 8的支持。
主要變化
jQuery 3.0中肯定會有一些重大更改,而下注者可以期望將更大的功能添加到該Beta和最終版本中。簡化.show()和.hide()方法在功能列表中居于首位,結(jié)束了jQuery團隊經(jīng)常發(fā)現(xiàn)的“許多復雜的特例”漩渦。
您會看到jQuery已經(jīng)走到了完全瘋狂的一半,并且完成旅程沒有任何意義。特殊情況和檢查不僅復雜且不完整,而且還會在大頁面上引起嚴重的性能問題。
團隊的Timmy Willison在一個簡單的原始模型中描述了這些方法的發(fā)展。但是,這也意味著某些代碼將被破壞。“如果樣式表中的元素設置為display: none,則該.show()方法將不再覆蓋該元素”。
對于jQuery 3.0,建議開發(fā)人員不要使用樣式表設置默認值,display: none然后嘗試使用.show()–或任何顯示元素使其可見的方法。團隊已經(jīng)意識到該更改可能會引起爭議并且難以調(diào)整,因此他們很高興收到有關更改如何影響您的代碼的反饋。
jQuery的 .data()實現(xiàn)已進行了更新,以與HTML5數(shù)據(jù)集規(guī)范配合使用,這意味著無論使用哪種訪問方式,鍵都已從kebab-case轉(zhuǎn)換為camelCase。用戶還應注意,數(shù)字不再參與轉(zhuǎn)換。
但是,許多開發(fā)人員感到興奮的主要變化是jQuery.Deferred現(xiàn)在與Promises / A +兼容。在.catch()Willison對該.then()方法進行的一些重大更改的基礎上,有必要引入一種方法:
回調(diào)總是異步調(diào)用
進度回調(diào)無法再解析綁定到的延遲對象
.then()回調(diào)中引發(fā)的異常現(xiàn)在變?yōu)榫芙^值
.then()現(xiàn)在,由創(chuàng)建的Deferred的解析狀態(tài)由其回調(diào)控制-異常變?yōu)榫芙^值,不可回收的回報變?yōu)閷崿F(xiàn)值
所有Promise更改均已通過Promises / A + Compliance Test Suite進行了驗證 。
Alpha中的其他主要更改包括刪除jQuery.ajax中特殊情況的Deferred方法,刪除不贊成使用的事件別名以及使用Animations。有關每個更改的詳細信息,以及整個更改列表,可以在Willison的原始博客文章中找到。