将新插件附加到$或不?

时间:2013-07-18 11:12:07

标签: javascript jquery plugins

我写了一个插件(使用jquery)。

我应该将它附加到jquery的美元符号吗?

$.myPlugin=... 或者我应该将其附加到window.myPlugin=...

当然,如果没有jQuery,这个插件将无法运行。但这是否意味着我应该创建一个GOD对象($)并将所有内容附加到它(到美元符号)。 ?

(假设$是页面上的单个库对象)

2 个答案:

答案 0 :(得分:1)

根据jQuery网站,您应该将其附加到jQuery对象,而不是$(可能会或可能不会重复使用)。请参阅http://learn.jquery.com/plugins/basic-plugin-creation/

请注意,典型模式是使用$作为定义中的别名:

(function ( $ ) {

// jQuery recommends avoiding more than one instance method, instead taking
//   a parameter, or better yet, an extensible options object:
$.fn.instanceMethod = function(options) {
  //...
  return this;
};
$.classMethod = function () {
  //....
};

}( jQuery ));

答案 1 :(得分:1)

如果您的插件依赖于jQuery,最好将其附加到$符号(或jQuery)。 使用IIFE(立即调用函数表达式)时可以安全地执行此操作

(function($){
   // you code here that does $.myPlugin=...
})(jquery);