jquery:我怎样才能链接函数?

时间:2012-09-05 08:17:42

标签: javascript jquery jquery-plugins

我使用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();

但它会给我带来错误。对不起,我多次尝试使用谷歌搜索简单的教程,但我无法正常工作

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分:1)

这是我的插件模板:

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

  }
  return this;
})(jQuery)

答案 2 :(得分:1)

我自己从未编写过jQuery插件,但您肯定需要从方法onetwo(可能是“this”)中返回一些内容,否则第二种方法中没有对象你的连锁店要被召唤。