0

在小部件工厂jQuery.ui.widget中,如果最终widget.bridge污染jQuery.fn了小部件而不考虑命名空间,那么命名空间是什么?

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

将创建一个新的原型$.mynamespace.mywidget- 到目前为止一切顺利。

但是,我真的希望也使用命名空间,$('...').mynamespace.mywidget()而不是仅仅$('...').mywidget()以防万一我用命名空间定义小部件。为什么默认情况下不是这样,也许不建议使用这样的东西?

小部件工厂自动完成桥接的事情感觉不对。我想以后可以移动桥,但是到那时之前 $.fn.mywidget 中的任何内容都将被覆盖。

4

1 回答 1

0

如果您有两个同名的小部件,您可以手动创建不同名称的桥,如下所示:

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

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

然后它会给你 $.fn.widget 和 $.fn.widget2 所以两者都可以使用。如果两个小部件具有相同的名称,命名空间只是确保您不会覆盖构造函数。

于 2013-02-03T03:08:07.243 回答