1

我使用 jquery 很长一段时间,并考虑自己创建一个插件。但是无论教程多么简单,我都无法真正掌握链接的想法。假设我有这个非常简单的插件....

(function($){
      $.test = function(){

        $.test.one = function(){ alert("1");};

        $.test.two = function(){ alert("2");};

        return this.each(function(){
             (what to write here????)
        });
      };
 })(jQuery);

我想要完成的是,当我打电话时,例如

var myplugin = $.test();
myplugin.one().two();

但它返回给我错误。对不起,我尝试了很多次谷歌搜索简单的教程,但我无法让它工作

4

3 回答 3

7

你想这样做吗?

(function($){
    $.fn.test = function(){
        var self = this;
        this.one = function(){ alert("1"); return self; };
        this.two = function(){ alert("2"); return self; };
        return this;
    };
}(jQuery));


var myplugin = $().test();
myplugin.one().two();

小提琴示例:http: //jsfiddle.net/kzzMY/

作为旁注,我强烈建议这个主题的有用资源:http: //jqueryboilerplate.com/

于 2012-09-05T08:25:44.453 回答
1

这是我的插件模板:

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

  }
  return this;
})(jQuery)
于 2012-09-05T08:22:44.433 回答
1

我自己从来没有写过 jQuery 插件,但你肯定需要从你的方法onetwo(可能是' this')中返回一些东西,否则你的链中的第二个方法没有对象可以被调用。

于 2012-09-05T08:23:25.300 回答