jquery-ui-picklistというjQueryウィジェットを開発して管理しています。私はjQuery UIの依存関係を削除して、jQueryとjQuery UIの両方のアプリケーションで使用できるようにしたいと思っています。私は考え出したときに、昨日、私は単にこのような何かを行うことができるまでjQuery UIを使用せずにjQuery UIウィジェットファクトリを使用するより良い方法はありますか?
私は、移行を回避しました:
(function($)
{
if($.widget == null)
{
// Contents of jquery.ui.widget.js, straight from jQuery UI, goes here.
}
$.widget("awnry.pickList",
{
// My widget's actual code goes here.
});
}(jQuery));
(あなたが興味を持っている場合は、ウィジェットの完全なソースcan be found here。)
言うまでもなく、このようなベンダーのコードを逐語的に含めることは、汚い、ハッキーであると感じます。ユーザーが別のJSインクルードを自分のページに追加しなくても、jQuery UI依存関係を削除するより正確でエレガントな、より良い方法がありますか?
jQuery UIに依存しているような音がします。 – jrummell
私は '$ .fn'を実行し、依存関係を完全に削除します。ウィジェットの工場は本当にあなたのためにはあまり効果がありません。プラグインが実行する共通の問題、インスタンスの再接続、データストレージなどを解決するための簡単な方法です。 ... -ck – ckozl
依存関係を追加する理由はありません。 jQueryのUIから使用しているのは、ウィジェットのファクトリです。これは、別のファイルとして利用できます。私は2つの選択肢を提供することを検討しています:jQuery UIを使用するか、ウィジェットファクトリファイルを含める。 私は実際にこのプラグインを$ .fnで起動しました。私は数か月後に移植しました。確かに、ウィジェットの工場はプラグインを作る必要はありませんが、私は自分自身が戻ってくるのを見ません。 –