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