Posted on 2010-02-23 14:22
itVincent 閱讀(2450)
評論(1) 編輯 收藏 所屬分類:
Ajax 、
javascript 、
jQuery
新特性
范例:
$("table").delegate("td", "hover", function(){
$(this).toggleClass("hover");
});
等于使用 .live():
$("table").each(function(){
$("td", this).live("hover", function(){
$(this).toggleClass("hover");
});
});
另外,以下代碼中,.live() 基本上等同于 .delegate().
$(document).delegate("td", "hover", function(){
$(this).toggleClass("hover");
});
變更
大量代碼進(jìn)行了重寫, 提升了性能及修正了一些長期存在的問題。
提升性能
每次開發(fā)新的jquery版本,我們都努力去持續(xù)優(yōu)化性能,以保證你能用到最高性能的javascript代碼。
主要是在下面4個方面進(jìn)行了提升:
在測試用例中,比較多的用到了 $("body"), .bind(), .unbind()方法,因此測試結(jié)果提升比較明顯。
重寫事件
event handlers 不再作為一個對象屬性保存在 jQuery的內(nèi)部對象里。現(xiàn)在是保存在一個內(nèi)部的對象數(shù)組里。
現(xiàn)在可以通過調(diào)用.data("events") , 將會返回一個對象包含的所有事件類型。
- 現(xiàn)在可以使用不同的數(shù)據(jù)、命名空間、事件類型綁定在同一個handler
- 在一個handler清除自己之后,事件handler會繼續(xù)執(zhí)行
- 不用關(guān)聯(lián)數(shù)據(jù)或者命名空間到事件handler
- 不用再使用代理方法
- 事件執(zhí)行的順序在所有瀏覽器中得到保證,Google Chrome 中出現(xiàn)的對象循環(huán)邏輯問題已經(jīng)得到解決
下載鏈接:
壓縮版, 無壓縮版