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

Javascript 将超时设置为IE8及更低版本中的对象,javascript,object,internet-explorer-8,settimeout,Javascript,Object,Internet Explorer 8,Settimeout,很抱歉,我不得不问这个问题,因为这里有很多类似的问题,但我找不到解决问题的方法。我使用setTimeout,它可以在所有浏览器、chrome、ff以及IE9和更高版本中使用。但在IE8中,应该在超时后执行的操作不起作用。我希望有人能帮我 var searching = { initialize: function (config) { this.wait(config.time); }, wait: function(time) { set

很抱歉,我不得不问这个问题,因为这里有很多类似的问题,但我找不到解决问题的方法。我使用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{…}块中。

代码几乎正确。你错过了一些妄想症:

HTML:

Fiddle:

$example-div.hide看起来不正确,您需要调用该函数。你错过了一个结束语。
<div id="example-div">example-div</div>
<div id="example-submit">example-submit</div>
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});
});