0

ウィジェット ファクトリである jQuery.ui.widget では、名前空間を考慮せずに、最終的に widget.bridgejQuery.fnがウィジェットで汚染する場合、名前空間は何に役立ちますか?

ウィジェットの例:$.widget( 'mynamespace.mywidget', { ... } );

で新しいプロトタイプを作成します$.mynamespace.mywidget-これまでのところとても良いです。

しかし、名前空間でウィジェットを定義する場合$('...').mynamespace.mywidget()だけでなく、名前空間も同様に使用することを本当に期待しています。$('...').mywidget()デフォルトでこのようにならないのはなぜですか。

ブリッジがウィジェットファクトリーで自動的に行われるのは違和感があります。後でブリッジを移動することは可能だと思いますが、それまでに $.fn.mywidget にあったものはすべて上書きされます。

4

1 に答える 1

0

同じ名前のウィジェットが 2 つある場合は、次のように別の名前でブリッジを手動で作成できます。

$.widget('my.widget', {  });
$.widget('your.widget', {  });

$.widget.bridge('widget2', $.my.widget);

これにより、 $.fn.widget と $.fn.widget2 が得られるため、両方を使用できます。名前空間は、2 つのウィジェットが同じ名前を持つ場合にコンストラクター関数を上書きしないようにするだけです。

于 2013-02-03T03:08:07.243 に答える