我在 Google 甚至 SO 上进行了搜索,但我似乎无法在这里找到解决方案。周五的情况,或者我只是错过了一些东西。
在 IE8 中,不会调用此函数。我读到 setTimeout()
在某种程度上与 IE8 不兼容,但我似乎无法使用我的代码片段来解决此问题。
求助,我错过了什么或做错了什么?
onStartup: function () {
loginForm = $('div#login-box');
setTimeout(function () {
loginForm.show();
}, 1000);
},
编辑:发现问题,这段用于平板电脑网络应用程序的代码块使我所有的js崩溃了。新问题,如何防止此函数在 IE8 上通过 js 运行。
// prevent default action when
// moving finger on ipad/iphone
document.addEventListener('touchmove', function (event) {
event.preventDefault();
}, false);
最佳答案
这并没有使 JS“崩溃” - IE8 遇到错误,因为 IE8 中的 document
对象没有 addEventListener
方法。 IE<9 使用attachEvent
。
由于您不关心 IE8 中的触摸事件,因此您甚至不必运行该代码,因此只需在其周围放置一个条件来检查 addEventListener 方法是否存在。
解决方法如下:
// prevent default action when
// moving finger on ipad/iphone
if(document.addEventListener) {
document.addEventListener('touchmove', function (event) {
event.preventDefault();
}, false);
}
关于javascript - setTimeout() 和 IE8.函数未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16613603/