HOKYPOKY.BLOG

jQuery 1.3を試す

jQuery1.3が出てたので少しためしてみた。jQueryはJavaScriptが楽しくなる魔導士みたいな存在です。

http://docs.jquery.com/Release:jQuery_1.3

以上を見てみるとどうやらセレクタ周りがかなり高速化していますね。
sizzleというCSSセレクタエンジンを採用している様子。
セレクタのパースにモダンブラウザの場合ネイティブの関数をなるべく使うようにしたっぽい。

また、liveQuery pluginも内包しています。
これはlive(), die()関数のところかな。 

そして当然と言えば当然なのですが「jQuery foundation」設立。

さらにnew API Browser、しかもAIRアプリになっていたりで、大事になってきてます。

実際の大きな変更点といえば

  • “[@attr=value]“の@を廃止。(まだ大丈夫)
  • “a, b, c” セレクタの廃止。
  • live(), die() 追加

上の二つは、まだ大丈夫なはずなんだけどCSSセレクタエンジンにおいて、これらの記法を考慮すると遅くなるんだとさ。JavaScriptも高速化の時代ですもんね。
たしかに大量のDOMを操作していると重くなったりします。

さっそく試してみる

AIRアプリ

インストールが簡単なのと、WEBに比べて高速なのがうれしい。微妙に重かったんだよね。英語だけどサンプルがしっかりのってるし良くわかる。

あとは、お気に入り機能がうれしいところ。「これ何かに使える」的なものでもいいし、探した結果を一時的に保存するでもいい。

live(), die()

次はlive関数とdie関数を使ってみます。

live関数は先にイベントを定義しておくことができ、動的に発生したDOMにもイベントを付与することができるみたいです。

$("p.myObj").live("click",function(){
    alert($(this).text());
});

これはp.myObjというものができた場合、自分の中にあるテキストをアラートするといったもの。
これで例えばAjaxで読み込んだDOMなんかにも勝手に適用できていいですね。
というか、これはready()のタイミングじゃなくていいのかな。だとしたらかなり色々楽になりそう。

die()はlive()の逆。なんとも恐ろしい名前なんだろう。要はliveで定義したイベントを削除するというもの。
これはあまり使わないかな。スペックアップや、コアなところでしか使わないはず。

とまあlive関数に関しては有効的に使える場面が多く、恩恵は凄まじい。
また、スペックアップなどがやっぱりうれしいので1.2から移行しなくては。とりあえず今つくってるライブラリたちの文法で廃止されるものを書き換えないと。

blog comments powered by Disqus