jQuery插件实例

时间:2014-10-08 08:12:00

标签: jquery instance

我越来越了解jQuery了。我最近创建了一个插件(工作正常)。但是,这里有一些我很好奇的东西。假设我有以下插件......

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

然后如果我使用它$('#selector').plugin()然后再次使用它$('#selector').plugin().method1()它似乎创建了两个不同的实例。

我如何修改我的代码,以便它仍然引用相同的实例,因为选择器是相同的,类似于以下行为?

var pg = $('#selector').plugin();
pg.method1();

谢谢!

2 个答案:

答案 0 :(得分:2)

(function($){
    $.fn.plugin = function(){

      return {
              method1 : function(text){
                 console.log(text);
              }

       }
    };
}(jQuery));

var smth = $(document).plugin();

smth.method1('text this');

这是一个工作小提琴:http://jsfiddle.net/sazv3dge/

答案 1 :(得分:0)

如果不创建实例对象,则无法实现。您需要创建实例对象。 但是有一种方法可以直接调用函数而无需创建实例。 将您的插件创建为包含函数的javascript对象。然后你可以在你的插件中调用你的方法。

这是一个例子

$.fn.plugin = {
    con:function(val){
        console.log(val)
    }
}

$("body").plugin.con("ok");