Javascript 从jQuery迁移到Zepto-$.data()-未捕获类型错误:未定义不是函数
我有一些JavaScript,最后是以下内容:Javascript 从jQuery迁移到Zepto-$.data()-未捕获类型错误:未定义不是函数,javascript,jquery,zepto,Javascript,Jquery,Zepto,我有一些JavaScript,最后是以下内容: $.fn.flips1 = function( options ) { if ( typeof options === 'string' ) { var args = Array.prototype.slice.call( arguments, 1 ); this.each(function() { var instance = $.data( this
$.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模块的自定义构建)之后,我不断得到一个与行var instance=$.data的$.data部分相关的“Uncaught TypeError:undefined is not a function”(这是“flips1”)在else语句中编码>
环顾四周,似乎有很多轶事证据表明Zepto在这方面的“工作方式不同”,但没有关于回避问题的建议
有人能建议如何使用Zepto实现这一点吗?您是否尝试了$(this).data(…
)?谢谢@charlietfl,但不幸的是,这并没有解决问题。