我有这个代码:
var Flippable = function( options, element ) {
this.$el = $( element );
this._init( options );
};
Flippable.prototype = {
_init : function( options ) {
this.options = $.extend( true, {}, $.Flips.defaults, options );
this.$pages = this.$el.children( 'div.f-page' );
this.pagesCount = this.$pages.length;
this.History = window.History;
this.currentPage = this.options.current;
this._validateOpts();
this._getWinSize();
this._getState();
this._layout();
this._initTouchSwipe();
this._loadEvents();
this._goto();
},
foo: function(){alert("foo");}
}
但是当我调用 Flipppable.foo() 时,我得到了未定义。我的语法关闭的任何想法?
谢谢!
克里斯
** 更新 **
我正在创建一个这样的插件:
$.fn.flippable = function( method ) {
// Method calling logic
if ( Flippable[method] ) {
return Flippable[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return Flippable._init.apply( this, arguments );
未捕获的类型错误:无法调用未定义的方法“应用”} else { $.error('方法'+方法+'不存在于 jQuery.flippable'); }
};
它在线上很糟糕:
return Flippable._init.apply( this, arguments );
_init 未定义。