今日はjQueryの2才の誕生日。それに合わせてか、jQuery 1.2.2がリリースされました。
jQueryブログで紹介されているImportant Changesの内容をかいつまんで紹介します。
$(DOMElement) の速度の改善(300%)
$(this)のように、頻繁に使われている$(DOMElement)を改善して、かなりの速度改善が得られたようです。(といっても、もともと0.0x ms オーダーの処理なので、ループ処理の中で大量の$(DOMElement)を呼び出していなければ、効果のほどは感じられないかもしれません)
.ready() の見直し
IEでのメモリリークの問題が色々と解決しているみたいです。
$(document).ready(fn) も、$(document).bind("ready",fn)のように書けるようになりました。
.bind("mouseenter") / .bind("mouseleave") の追加
新たに"mouseenter","mouseleave"というイベントが加わり、これまでの.hover(fn1,fn2)が別の書き方ができるようになりました。
$("li").hover(function(){
$(this).addClass("hover");
}, function(){
$(this).removeClass("hover");
});$("li").bind("mouseenter", function(){
$(this).addClass("hover");
}).bind("mouseleave", function(){
$(this).removeClass("hover");
});
独自のイベントを追加できるようになった
独自のイベントを追加できる plugin API が追加されました。
これで"mousewheel"のようなイベントをpluginの形で追加 できるようになっています。
セレクタ :not() の追加
:not()というセレクタが追加され、より複雑な処理を行えるようになりました。
$(".hover:not(li.active)")
$("li:not(.active,.hover,:contains(test))")
その他、合計120個のBugも修正されています。
ダウンロードは↓こちらから。
- jQuery Minified (15kb with Gzipping)
- jQuery Packed (28kb)
- jQuery Regular (93kb)
ソース読み込まないと。