Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript each()在IE8上不起作用,给了我一个;应使用数组或参数对象";。如何解决?_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript each()在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) {

我在我的网站上使用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)
            {
                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;
                    }
                }
            }