jQuery插件方法链接类布局

时间:2010-09-20 08:22:36

标签: jquery jquery-plugins

我正在创建一个jQuery插件,但我无法设置类/方法以适应我想要的api访问。

这是我到目前为止所做的,但它不起作用(我得到一个Object不支持此属性或方法错误):

(function( $ ){
    $.kitty= function( name ) {  
        this.name = name;
        this.cat= function( say ) {
            alert(  this.name + ": " + say );
        }
    };

})( jQuery );

我想使用输出结果:

$.kitty('chairman meow').cat('meow!');

输出:

chairman meow: meow!

3 个答案:

答案 0 :(得分:0)

试试这个

$.kitty = function(name) {  
    return {
        name: name,
        cat: function(say) {
            alert(this.name + ": " + say);
        }
    }
};

答案 1 :(得分:0)

(function($) {
    $.kitty = function(name) {
        this.name = name;
        this.cat = function(say) {
            alert(name + ": " + say);
        }
            return this;
    };

})(jQuery);


$(function() {
    $.kitty('chairman meow').cat('meow!');
})​

不要忘记归还对象。

demo

答案 2 :(得分:0)

您的代码不起作用,因为您正在尝试调用返回值为$ .kitty的函数cat。由于$ .kitty不返回任何内容,因此没有函数cat可以调用。如果你在$ .kitty中返回它会有效,但我不认为这是编写jquery pluging的正确方法。如果您想知道它是如何工作的,请查看this ...