jQuery插件最佳实践

时间:2012-05-16 08:02:21

标签: jquery jquery-plugins

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

(function($){
  $.myplugin = {
    // plugin code
  };
})(jQuery);

第二个:

(function($){
  $.fn.myPlugin = function() {
    // plugin code 
  };
})(jQuery);

2 个答案:

答案 0 :(得分:8)

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

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

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

答案 1 :(得分:2)

$。fn指向jQuery.prototype。您添加到它的任何方法或属性都可用于jQuery包装对象的所有实例。

$。有些东西会为jQuery对象本身添加一个属性或函数。

当您在页面上处理DOM元素时,使用第一个表单$ .fn.something,并且您的插件会对元素执行某些操作。当插件与DOM元素无关时,请使用另一种形式$ .something

类似的问题: - )