javascript - 设置超时 Internet Explorer

标签 javascript internet-explorer settimeout

我在 MSIE 中有以下 JavaScript:

setTimeout(myFunction, 1000, param );

这似乎适用于除 Internet Explorer 之外的所有浏览器。参数只是没有转发到函数。查看调试器,它是未定义的。

最佳答案

Internet Explorer 中的

param 指定 myFunction 中的代码是 JScript、JavaScript 还是 VBscript 另请参阅:MSDN 。它的行为与其他浏览器不同。

以下内容将起作用:

setTimeout(function() {
    myFunction(param);
}, 1000);

上一行并不完全模仿 Firefox 等中的 setTimeout。要传递一个不受 param 变量稍后更新影响的变量,请使用:

setTimeout( (function(param) {
    return function() {
        myFunction(param);
    };
})(param) , 1000);

关于javascript - 设置超时 Internet Explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9568248/

相关文章:

javascript - 我可以检测某些浏览器 (IE) 设置(不是更改,而是检测)吗?

JavaScript 获取超时?

javascript - setTimeout函数触发回调两次

javascript - ReferenceError:找不到变量:_e_0uWl - 浏览器 "breaks"

javascript打印按钮

javascript - jQuery 克隆链接和包装/追加/替换?

javascript - 通过 Visual Studio 运行时忽略 IE 中的缓存

css - 如何更改背景附件 : for Internet Explorer Edge only 的 CSS 样式

javascript - 在 JavaScript 中同步使用 setTimeout

javascript - 如何通过在javascript中一起使用函数和闭包来获得相同的结果