jQuery 1.9系
Category
Javascript
jQueryの1.9系がリリースされて「今まで使っていたライブラリが動かなくなった...」「開発中のシステムで使っているjQueryを1.9対応しないといけない...」なんてことを最近よく耳にするので、ちょっと簡単にまとめてみました。
Keyword:jQuery 1.9.x,jquery-migrate,互換プラグイン
バージョン1.9系が最後のInternet Explorer 6~8対応バージョンに
2013.1.15にjQueryの最新版1.9と開発版の2.0 BETA1が公開されました。
共に同じAPIが提供されており、廃止予定となっていたいくつかのAPIが削除されています。
また、バージョン1.9系ではInternet Explorer 6~8もサポートされていますが、バージョン2.0からは未対応となります。
しばらくの間はバージョン1.9系を使うことになりそうですね。
※2013.2.17現在の最新版は、1.9.1です。
バージョン1.9で主に廃止されたAPI
◎$.browser()の廃止
ずいぶん前から廃止されると言われていましたが、遂に1.9で廃止。
ブラウザ判定に使われていましたが、今後は「$.support()」や「ライブラリModernizr」を使うことになります。
◎$.live()の廃止
$.bind()の拡張メソッド(ハンドラ登録時にマッチする要素だけでなく、永続的にマッチする要素にもイベントを適用)。
$.on()と$.off()を使うことになります。
※live関数を削除するメソッド$.die()も廃止。
◎$.sub()の廃止
元のjQueryオブジェクトに影響を与えることなく、プロパティとメソッドの変更可能なjQueryのコピーを生成しますが、1.8系でプラグインに移行されているので廃止に。
◎$.toggle(fn1, fn2, …, fnN)の廃止
要素がクリックされる毎に引数で渡した関数を順番に呼び出すメソッドですが、1.7系で既に非推奨になっているので廃止に。
※イベントエフェクト型の$.toggle()は廃止になっていません。
他にもバージョン1.9では、$.add()・$.before()・$.after()等にも変更が加えられているようです。
詳しくは本家サイトを参考にしてください。
jQuery 1.9 Upgrade Guide
廃止されたAPIに依存したライブラリをjQuery 1.9に対応させるには?
互換性を保つプラグインであるjQuery Migrateが提供されています。
▼jQuery Migrateダウンロードページ
jQuery Migrate – GitHub -
私的なjQueryさんのサイトでjQuery Migrateプラグインのことが分りやすく書いてあるので、そちらをご参照ください。
jQuery Migrate plugin の使い方と警告文の自分なりのまとめ – 私的なjQuery -
WordPress 3.5.1のjQuery本体
2013.2.17時点、最新バージョンであるWordPress 3.5.1には、jQuery 1.8.3が同梱されています。
プラグインを多用している場合、jQuery 1.9系を使うと動かなくなるプラグインも多数あるでしょうね…。
デフォルト状態では、コアファイルのjQuery本体を読み込みますので、「どうしても開発(自作)したjQueryのスクリプトを使ってjQuery本体を 1.9系に変えたい!」といった場合、jQuery公式サイトからダウンロードした1.9系のjQuery本体をテーマ内でだけ読み込むようにすれば対応は可能です(管理画面は除外する)。
ですが、廃止されたAPIに依存したライブラリやプラグインを使用している場合、修復する必要があります(※上記で紹介したjQuery Migrateなんかを使って)。
WordPress本体がアップデートされ、同梱されているjQueryが1.9系になるとある程度対応されるはずなので、プラグインを多用している場合は得策ではない気がしますが…。
WordPress本体のjQueryは、jQuery公式サイトのものとはちょっと違いますので、以前紹介した以下の記事も参考になるかと思います。
「WordPress本体のjQueryと公式版のjQuery」
関連記事(※当記事と関連性が高いと思われる記事)
WordPress本体のjQueryと公式版のjQuery
2012/07/14jQueryでフォントサイズ変更
2012/02/02jQuery UIのタブメニュー
2012/07/25HTML5のplaceholder属性をInternet Explorerで使う
2012/05/01Web制作で活用したいツール
2012/09/30おすすめ書籍・商品(※当記事と関連性が高いと思われる書籍・商品)