setTimeout()和IE8。功能未被调用

时间:2013-05-17 16:10:50

标签: javascript jquery internet-explorer-8

我在谷歌搜索甚至是搜索引擎优化,但我似乎无法找到解决方案。周五的情况或者我只是遗漏了一些东西。

在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);

1 个答案:

答案 0 :(得分:2)

它没有“崩溃”JS-IE8遇到错误,因为document对象在IE8中没有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);
}