如何创建不需要选择器的插件,例如:
$.pluginName();
出于这个:
(function($)
{
$.fn.pluginName = function(options)
{
// options
};
// code
})(jQuery);
而不是使用它(以防止其他库与$
发生冲突):
jQuery.pluginName = function(name, value, options)
{
// code
};
因为如果我执行此操作:$.pluginName()
,Firebug告诉我$.pluginName()
不是函数,除非我添加它:$.('a selector goes here').pluginName();
。
答案 0 :(得分:6)
将它放在全局jQuery而不是原型上。
(function($)
{
//---v----------------namespacing your function in the jQuery namespace
$.pluginName = function(options)
{
// options
};
// code
})(jQuery);
请记住,函数内的this
不是jQuery对象。它将引用全局jQuery
函数。
答案 1 :(得分:2)
您使用
(function($)
{
$.pluginName = function(options)
{
// options
};
// code
})(jQuery);
这是一个立即执行的匿名函数,它接受一个参数并绑定到参数$,并为其提供值jQuery。
答案 2 :(得分:0)
如果您希望一起添加多个插件,也可以使用$ .extend({f1:function(){},f2:function(){}})。这将使你的代码看起来更清晰。