jQuery 1.4 最近剛剛發布. 這個版本可不是一個簡單的改進,它不僅包含了很多新的特性,還改進了很多功能, 更在性能優化方面下了很大功夫, 本文將對這些新的特性和增強的部分進行討論,希望能對你有所幫助。
推薦閱讀:JQuery 1.4 API中文手冊
首先現在你可以從這里下載最新的1.4的版本了:http://code.jquery.com/jquery-1.4.js
1. 傳遞屬性給jQuery
1.4之前的版本中jQuery就通過"attr”方法支持了添加屬性到元素集合中,"attr”方法不僅可以傳遞屬性名和值,也可以傳遞包含有多個屬性的對象集合。在1.4中,除了可以創建新的對象,現在它更能將屬性對象作為參數傳遞給jQuery函數或對象自身。如你可以創建一個含有多個屬性的鏈接元素,通過1.4代碼如下:
你可能會注意到"text”屬性并且猜測它是干嗎的,因為a標簽是沒有"text”屬性的。呵呵,當你傳遞某些屬性時,jquery 1.4同樣會檢查并使用它自己的方法。因此上面的"text”屬性可以讓jQuery調用它的".text()”方法并將"進入Google!“作為它的唯一參數。
這里給出一個更好的例子:
"id”屬性是作為一個普通屬性被添加的。但"css”和"click”屬性則對應特定的jQuery方法。上面的代碼在1.4之前一種寫法如下:
更多關于jQuery特性
2. 所有的東西都可以"until“了
1.4新增了三個對DOM操作的方法,他們分別是"nextUntil", "divvUntil" 和 "parentsUntil"。 這些方法會按照某個順序去遍歷DOM對象直到滿足指定的篩選條件。假設我們有一個水果列表:
如果你想選擇所有在"Apple”和"Strawberry”之間的元素。代碼可以這樣寫:
更多關于: prevUntil, nextUntil, parentsUntil
3. 綁定多個事件
與通過jquery鏈綁定多個方法到一起相比,現在你可以通過一次調用來綁定所有這些事件,如:
你也可以通過 ".one()"方法操作。
更多關于.bind(…)
4. Per-Property Easing
與給一個動畫僅僅定義一個緩動效果相比,現在你可以給你想要添加動畫效果的屬性定義不同的緩動函數了。jQuery包含兩個緩動函數,旋轉(默認)和線性移動。如果你需要其他的效果的話,你需要去單獨下載它們 !
要給每個屬性指定一個緩動函數的話,你可以簡單的通過屬性數組來達到目的,在數組中,第一個值是你想要實現的效果值,第二個參數則是使用的緩動函數,如:
查看代碼演示!
你也可以以鍵值對的形式在那些可選設置項中單獨指定屬性緩動函數:
原文作者注 - 小小謙虛一下,這個新特性是作者James Padolsey的主意!
更多關于per-property easing
5. 新的Live事件!
1.4添加了對"submit”,"change”,"focus”,和"blur”事件的委托支持。在jQuery中,我們可以使用".live()”方法去委托事件。這在你需要注冊事件到大量元素中或新的元素需要不斷的被添加(使用".live()”會比不斷的重新綁定事件更高效)將會很有用。
但是,注意!如果你需要委托"focus”和"blur”事件的時候,你必須使用"focusin”和"focusout”事件名稱!