Cordova / Phonegap:JavaScript等待屏幕导致onScrollChanged事件

时间:2014-02-20 15:37:49

标签: javascript settimeout wait cordova-3 touchmove

我在Cordova / PhoneGap 3.3中的javascript计算期间显示了“等待屏幕”(这些需要5-10秒)。等待屏幕是整个屏幕上的DIV,使视图变暗。我的问题是当用户滑动等待屏幕时,整个应用程序滚动到侧面部分离开屏幕,同时打印以下日志消息:

CordovaActivity: onMessage(onScrollChanged,org.apache.cordova.ScrollEvent@4207f0f0)

我想这是因为我们在window.setTimeout的帮助下触发了等待屏幕,如下所示:

$("#wait-screen").show();
window.setTimeout(function() {
    ... code for computations ...
    $("#wait-screen").hide();
}, 10);

没有timout解决方案,DIV根本不显示,最小工作超时值为10ms。我在整个文档中阻止了touchMove事件,如此

document.addEventListener('touchmove', function(event) { event.preventDefault(); }, false);

touchMove阻止可以在任何地方使用,但不能在等待屏幕中使用。我试图将EventListener添加到等待屏幕DIV,但它没有阻止移动。

我怀疑超时会创建一个额外的javascript线程,它将主应用程序代码分开,因此touchmove不会被阻止。

有人可以帮助以下其中一个吗? 1)在没有超时的情况下进行等待屏幕 要么 2)在超时期间有效阻止touchmove

感谢。

0 个答案:

没有答案