2013-08-01 13 views
6

廃止予定のjQueryメソッドを使用する際には、選択肢はありますか?廃止予定のjQueryメソッドを使用するコードを変更する代わりの方法

コードを変更するのではなく、すべてのバージョンの問題を解消する互換性のある移行ツールがありますか?

+2

[jQueryのプラグインを移行](http://github.com/jquery/jquery-migrate/#readme )あなたを助けるかもしれない:) – AmazingDreams

+0

@AmazingDreams:あなたのコメントは答えでなければならない。= D –

+0

...理想的には、廃止された方法から移動するだろう。理由のために推奨されていません。 – Matt

答えて

3

ここでは、jQuery migrate pluginはあなたを助けるかもしれない:)

このプラグインは、廃止予定の機能のためのサポートを提供します:)

です。

このプラグインは、移行目的でのみ使用されています。非難された関数は、理由のために推奨されなくなりました!

+0

ちょうどそれを少し記述!!!! –

+0

@メシアのような? – AmazingDreams

+0

私は、プラグインの名前自体が完全に適切に記述されていると思います。 – Dale

1

廃止予定のメソッドを使用する以外の選択肢がない場合は、後ですべてのコードを書き直す必要はなく、ラッパーが機能するように関数内で呼び出しをラップする必要があります。

function myRequiredFunctionality(params) { 
    // ... Convert params from domain logic to what jQuery expects ... 
    $.deprecatedCall(...); 
    // ... 
} 

この方法でアプリケーションコードは上記の機能を除いて、あなたのコードはjQueryのは、廃止予定の機能を置き換えた場合にそのままにすることができ、代わりに非推奨のものをごmyRequiredFunctionality関数を参照、そうなります。

これは、サードパーティのライブラリの使用法およびプログラミング言語で実際に当てはまります。あなたがそれに依存しないように、あなたが使用するサードパーティのものから自分自身を分離することは、常に良い考えです。

2

jQuery Migrate Pluginは、バージョン1.6.4から1.9+にアップグレードする際に非常に役立ちます。それ以下のものはあなた自身でバグを処理するかもしれません。プロジェクトをjQuery 1.4.2からjQuery最新版にアップグレードしたとき、各マイナーリリースを踏んで、release notes (e.g. for 1.5.2)をチェックしました。 jQueryの移行プラグインでサポートされない問題の1つは、.prop()メソッドの追加と、.attr()メソッドの新しい意味です。

jQueryをアップグレードしたときの主な問題は、.live()のすべてのイベントを.on()に変更することでした。このプラグインは本当に役に立ちました。また、$.browserメソッドのサポートは終了しましたが、代わりにmodernizrのようなツールを使用し、代わりに機能検出メソッドを使用する以外の方法はありません。

私がスクリプトを使用して行った方法は、from hereをダウンロードしてページに追加することでした。注:プラグインには、開発用とプロダクション用の2つのバージョンがあります。両方とも減価償却の問題を解消しようとしていますが、開発はコンソールのそれぞれについても通知します(それぞれはJQMIGRATEで始まります)。現代のjQueryはいくつかのserious performance improvements *を提供しているので、減価償却されたメソッドのサポートを求めているようであれば、生産バージョンを使用しますが、を真剣に置き換えるべきです.jQuery 2、レガシーIE(< = 8)のサポートが廃止されました。私のためにそれらのすべてで

* テストの数が、jQueryの1.8/1.9勝ち

関連する問題