我在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
感谢。