話說 jQuery 官方很守信用的在 2011/01/31 時推出了 1.5 版。雖然因為過年而 lag 了半個月,不過因為在 1.5 版中加入了幾個重要的特性,所以咱們還是得來看一下。
jQuery 1.5 下載位置
正常版本:http://code.jquery.com/jquery-1.5.js
壓縮版本:http://code.jquery.com/jquery-1.5.min.js
同時 Google 跟 Microsoft 都有提供了 CDN 服務:
Google:https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js
Microsoft:http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.min.js
以下幾點是 1.5 版的新特性及功能:
1.重寫 AJAX 相關的功能,並在呼叫後會回傳新的物件 - jqXHR,它提供了跨瀏覽器的共同功能,像是中斷 ajax 的呼叫等等。同時也加強了擴充性,讓 ajax 的發送能更方便的被擴充修改。
1 2 3 4 5 6 7 8 9 10 11 12 | $(function(){ // 綁定當呼叫成功或失敗時的處理動作,並取得 jqxhr 物件 var jqxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); }); // 執行其它動作 // 在上面的 jqxhr 中在多增加一個 complete() 處理事件 jqxhr.complete(function(){ alert("second complete"); }); }); |
2.新增延遲物件 - Deferred。除了可讓我們針對 jQuery.ajax() 來綁定多個事件處理,並能簡化原本透過其它方式來達到各非同步作業間的處理動作。可參閱: Deferred Object 文件。
3.新增了 jQuery.sub() 功能,讓我們能直接產生 jQuery 的副本分身,避免在擴充功能時污染了全域的 jQuery。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <script type="text/javascript"> $(function(){ var sub$ = $.sub(); // 在副本分身中自訂一新的函式 - abgne // 單純的在選取得元素中輸出 'sub in 1.5' sub$.fn.abgne = function(){ return this.html('sub in 1.5'); }; // 在指定的元素中輸出 'sub in 1.5' sub$('#div1').abgne(); // 顯示 undefined; 表示不存在 $ 中 alert(typeof($('div1').abgne)); }); </script> <body> <div id="div1"></div> <div id="div2"></div> </body> |
4.當然也加強了 .children(), .prev() 及 .next() 等巡覽函式的效能及速度。
更多詳細的更新內容可以在 JQUERY 1.5 RELEASED 中看到完整的說明。