2012-11-07 10 views
0

在jQuery.ui.widget中,構件工廠,如果最終widget.bridge污染了jQuery.fn而不考慮命名空間,那麼什麼是名稱空間?帶名稱空間的jQuery構件工廠 - 在jQuery.fn中沒有效果

實例部件:$.widget('mynamespace.mywidget', { ... });

$.mynamespace.mywidget創建一個新的原型 - 越遠越好。

但是,我確實希望在使用命名空間定義小部件的情況下,也可以使用名稱空間$('...').mynamespace.mywidget()而不僅僅是$('...').mywidget()。爲什麼默認情況下不是這樣,是否不建議這樣做?

感覺錯誤的是橋接件在widget工廠自動完成。我想可能在之後移動橋接器,但是之前在$ .fn.mywidget中的任何內容都將被覆蓋。

回答

0

如果你有兩個同名的小部件,你可以隻手動創建一個不同的名稱這樣的橋:

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

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

然後會給你$ .fn.widget和$ .fn.widget2所以兩者都可以使用。命名空間只是確保您不會覆蓋構造函數,如果兩個小部件具有相同的名稱。

相關問題