空选择器 - jQuery插件创建

时间:2011-02-25 18:39:25

标签: jquery plugins jquery-plugins extend

如何创建不需要选择器的插件,例如:

$.pluginName();

出于这个:

(function($)
{
    $.fn.pluginName = function(options) 
    {
            // options
    };

    // code

})(jQuery);

而不是使用它(以防止其他库与$发生冲突):

jQuery.pluginName = function(name, value, options) 
{
   // code
};

因为如果我执行此操作:$.pluginName(),Firebug告诉我$.pluginName()不是函数,除非我添加它:$.('a selector goes here').pluginName();

3 个答案:

答案 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(){}})。这将使你的代码看起来更清晰。