我有一些JavaScript,结果如下:
$.fn.flips1 = function( options ) {
if ( typeof options === 'string' ) {
var args = Array.prototype.slice.call( arguments, 1 );
this.each(function() {
var instance = $.data( this, 'flips1' );
if ( !instance ) {
logError( "cannot call methods on flips1 prior to initialization; " +
"attempted to call method '" + options + "'" );
return;
}
if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
logError( "no such method '" + options + "' for flips1 instance" );
return;
}
instance[ options ].apply( instance, args );
});
}
else {
this.each(function() {
var instance = $.data( this, 'flips1' );
if ( !instance ) {
$.data( this, 'flips1', new $.Flips1( options, this ) );
}
});
}
return this;
};
该代码适用于jQuery。在尝试移植到Zepto之后(使用Zepto Builder中包含的data.js模块的自定义构建),我继续得到一个" Uncaught TypeError:undefined不是一个函数"与 else 语句中的行var instance = $.data( this, 'flips1' );
的$ .data部分相关。
环顾四周,似乎有很多轶事证据表明Zepto的工作方式不同而且#39;在这方面,但没有建议解决问题。
有人可以建议如何使用Zepto实现这一点吗?