diaryこの広告は、90日以上更新していないブログに表示しています。PROUD株式会社ビープラウドの社員ついったでbeproudハッシュタグ付き発言を時々している今日の本題jQuery1.4先日jQuery1.4のアルファ版がリリースされた。eventの改良について話します。第2引数の関数を設定したり、解除したり出来る。eventの場合はbind/unbindがlive/dieになる。動的に追加削除するコンポーネント群へeventを設定ショッピングカートとかautopagerizeつかってるページとかはてブでこれを実行して2ページ目を追加表示した後、2ページ目の中のリンクをクリックしてもalertが出る。eventの1.4での強化サポートしているeventTypeの追加submit,change,mouseenter,mouseleave,focus,blurcontextのサポートこのような書き方で、context配下に限定して、cssSelectorに合致する要素にeventを貼る事ができるようになった。jQuery(cssSelector,context).live(eventType,function(ev){});このコードは.main配下のaタグ全てがclickでalertを出すようにするが、1.3.2では使えない。false;});一つのCSSセレクタにしてしまえば1.3.2でも同じ事が再現出来る。eventを貼りたいような場合は、contextのサポートがないと実現出来ない。})});})(jQuery);dataのサポート第2引数にobjectを渡すとeventオブジェクトのdataプロパティから参照出来るようになった。いまひとつ有効な使いどころが思いつかない。eventを定義するための簡易フレームワークのようなもの。setup:function(){},teardown:function(){}};このような、setup,teardownをキーに関数を値に持つオブジェクトを渡してやればよい。eventに相当するがIEだとmouseenterで、このコードではIE以外でもmouseenterを使えるようにし、mouseenterをクロスブラウザ対応させている。mouseout/mouseleaveについても同様の事をやる事で、hoverメソッドをシンプルに実装出来るようにしている。event1要素×1eventTypeにつき1回のみbindすることができる。eventを定義している箇所である。eventのsetup1要素×1eventTypeにつき1回のみ実行される正確にはbindされていない状態での最初のbindのみ。bind→unbind→bindなら2回実行されるそのevenTypeのeventを実際にbindするspecialAll1要素×1eventTypeでも何度でも実行されるそのevenTypeのeventを実際にbindしない1.4aでのspecialAllのspecialへの一本化specialAllのsetup,teardownの上位互換機能として、specialのadd,removeが使えるようになった。eventの定義もspecialのadd,removeにより実現されるようになった。eventの定義専用という感が強かったが、specialに統合され、specialのsetup,teardownと併用できるようになったことで、できることも増えた。handlerとして実際に貼付けるといった事ができるようになった。それによってbind時にoptionを渡して、振る舞いを換えるといったことが可能になった。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事r.jsでビルドする際に設定として使うbuild.jsを動的にする。月別アーカイブはてなブログをはじめよう!monjudohさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。