私はこのコードを持っています:
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 );
Uncaught TypeError: Undefined のメソッド 'apply' を呼び出せません } else { $.error( 'メソッド ' + メソッド + ' は jQuery.flippable に存在しません' ); }
};
それはオンラインで失敗します:
return Flippable._init.apply( this, arguments );
_init は未定義です。