我是jQuery插件开发的新手,我很有兴趣知道下面列出的两种方式有什么区别?什么是正确的方法呢?
(function($){
$.myplugin = {
// plugin code
};
})(jQuery);
第二个:
(function($){
$.fn.myPlugin = function() {
// plugin code
};
})(jQuery);
答案 0 :(得分:8)
第一个将实用程序函数添加到jQuery,它将被称为$.myplugin(...)
。
第二个添加了一个插件,该插件作用于jQuery 对象,将被称为$(selector).myPlugin(...)
如果你正在处理一个作用于元素的插件,那么选择后者,并且可以成为函数调用的jQuery风格“链”的一部分。
答案 1 :(得分:2)
$。fn指向jQuery.prototype。您添加到它的任何方法或属性都可用于jQuery包装对象的所有实例。
$。有些东西会为jQuery对象本身添加一个属性或函数。
当您在页面上处理DOM元素时,使用第一个表单$ .fn.something,并且您的插件会对元素执行某些操作。当插件与DOM元素无关时,请使用另一种形式$ .something
类似的问题: - )