是否将新插件附加到 $

Attaching new plugin to $ or not?

本文关键字:插件 新插件 是否      更新时间:2023-09-26

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

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

$.myPlugin=...还是应该将其附加到window.myPlugin=...

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

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

根据 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 ));

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

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