Javascript each()在IE8上不起作用,给了我一个;应使用数组或参数对象";。如何解决?
我在我的网站上使用bootstrap v2.3.1,但当我在IE8上测试它时,我得到了一个错误 “应使用数组或参数对象” 以下是引导部分:Javascript each()在IE8上不起作用,给了我一个;应使用数组或参数对象";。如何解决?,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我在我的网站上使用bootstrap v2.3.1,但当我在IE8上测试它时,我得到了一个错误 “应使用数组或参数对象” 以下是引导部分: enter : function (t) { var n = e.fn[this.type].defaults, r = {}, i; this._options && e.each(this._options, function (e, t) {
enter : function (t)
{
var n = e.fn[this.type].defaults, r = {}, i;
this._options && e.each(this._options, function (e, t)
{
n[e] != t && (r[e] = t);
}, this), i = e(t.currentTarget)[this.type](r).data(this.type);
if (!i.options.delay || !i.options.delay.show) {
return i.show();
}
clearTimeout(this.timeout), i.hoverState = "in", this.timeout = setTimeout(function ()
{
i.hoverState == "in" && i.show()
},
i.options.delay.show)
}
和jQuery部分:
each: function( obj, callback, args ) {
var name,
i = 0,
length = obj.length,
isObj = length === undefined || jQuery.isFunction( obj );
if ( args ) {
if ( isObj ) {
for ( name in obj ) {
if ( callback.apply( obj[ name ], args ) === false ) {
break;
}
}
} else {
for ( ; i < length; ) {
if ( callback.apply( obj[ i++ ], args ) === false ) {
break;
}
}
}
在IE8上不起作用,出现“应应用数组或参数对象”
有什么能帮我解决这个问题吗?我用makeArray()解决了这个问题,如下所示:
each: function( obj, callback, args ) {
var name,
i = 0,
length = obj.length,
isObj = length === undefined || jQuery.isFunction( obj );
if ( args ) {
if ( isObj ) {
for ( name in obj ) {
if ( $.browser.msie && '8.0' == $.browser.version ) {
args = $.makeArray(args);
}
if ( callback.apply( obj[ name ], args ) === false ) {
break;
}
}
} else {
for ( ; i < length; ) {
if ( callback.apply( obj[ i++ ], args ) === false ) {
break;
}
}
}
each:函数(obj、回调、args){
变量名,
i=0,
长度=对象长度,
isObj=长度===未定义的| | jQuery.isFunction(obj);
如果(args){
if(isObj){
for(obj中的名称){
如果($.browser.msie&&“8.0”==$.browser.version){
args=$.makeArray(args);
}
if(callback.apply(obj[name],args)==false){
打破
}
}
}否则{
对于(;i
但是callback.apply(obj[name],$.makeArray(args))也可以在Chrome上工作,但我不确定
没关系,如果浏览器是IE8,那么我会这样做。Mmmmm。这有点不清楚。这是您的代码还是您正在显示jquery和引导javascript(很可能是可以的)。请详细说明发生错误时您试图做什么?
each: function( obj, callback, args ) {
var name,
i = 0,
length = obj.length,
isObj = length === undefined || jQuery.isFunction( obj );
if ( args ) {
if ( isObj ) {
for ( name in obj ) {
if ( $.browser.msie && '8.0' == $.browser.version ) {
args = $.makeArray(args);
}
if ( callback.apply( obj[ name ], args ) === false ) {
break;
}
}
} else {
for ( ; i < length; ) {
if ( callback.apply( obj[ i++ ], args ) === false ) {
break;
}
}
}