设置超时作为 IE8 及更低版本中的对象



很抱歉我必须问这个,因为这里有很多类似的问题,但我找不到我的问题的解决方案。我使用 setTimeout,它适用于所有浏览器、chrome、ff 以及 IE9 及更高版本。但是在IE8中,超时后应该执行的内容不起作用。我希望有一天能帮助我...

var searching = {
    initialize: function (config) {
        this.wait(config.time);
    },
    wait: function(time) {
        setTimeout(function(){      
            $("#example-div").hide;
        }, time);
    }
}
$("#example-submit").click(function() {
    searching.initialize({time: 4000});
}

原因:您的脚本中存在错误,当错误在 setTimeout/setInterval 中时,其他浏览器会继续执行脚本

在IE的情况下,这不会发生。

因此,要么你应该修复你的代码,要么把你的代码包装在try{...}catch(e){...}块中。

代码几乎是正确的。你错过了一些偏执

.HTML:

<div id="example-div">example-div</div>
<div id="example-submit">example-submit</div>

.JS:

var searching = {
    initialize: function (config) {
        this.wait(config.time);
    },
    wait: function(time) {
        setTimeout(function(){      
            $("#example-div").hide();
        }, time);
    }
}
$("#example-submit").click(function() {
    searching.initialize({time: 4000});
});

小提琴:http://jsfiddle.net/t6NEQ/2/

相关内容

最新更新