我有一个像这样的简单 js 结构:
var Waiting = (function () {
function Waiting() {
this.timer;
}
Waiting.prototype.show = function () {
var self = this;
clearTimeout( self.timer );
self.timer = setTimeout( function(){ self.hideLogo(); },3000);
}
Waiting.prototype.hideLogo = function () {
console.log("ok i passed timeout");
};
return Waiting;
})();
正如预期的那样,当我第一次执行 show 函数(称为 hideLogo 函数)时,我在每个浏览器上都会收到“ok i pass timeout”日志。当我第二次调用 show 函数时,问题出现在 IE9 中。这一次,hideLogo 函数永远不会被调用(日志永远不会出现在 IE 控制台中)。我尝试了很多东西都没有成功。
如果有人作为一个想法......