jQuery插件最佳实践

War*_*asm 4 jquery jquery-plugins

我是jQuery插件开发的新手,我很有趣地知道,下面列出的两种方式有什么区别?什么是正确的方法呢?

(function($){
  $.myplugin = {
    // plugin code
  };
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

第二个:

(function($){
  $.fn.myPlugin = function() {
    // plugin code 
  };
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

Aln*_*tak 8

第一个为jQuery 添加一个实用程序函数,它将被称为$.myplugin(...).

第二个添加了一个插件,它作用于jQuery 对象,可以被称为$(selector).myPlugin(...)

如果你正在处理一个作用于元素的插件,那么选择后者,并且可以成为函数调用的jQuery风格"链"的一部分.

  • +1可以在这里找到jQuery Utilities的列表:http://api.jquery.com/category/utilities/还值得一提的是,为了使jQuery对象可以链接,你必须返回引用为`this`的jQuery对象. (2认同)