0

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

1 回答 1

2

它没有“崩溃” JS - IE8 遇到错误,因为该document对象没有addEventListenerIE8 中的方法。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);
}
于 2013-05-17T16:41:42.233 回答