Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova/Phonegap:JavaScript等待屏幕导致onScrollChanged事件_Javascript_Settimeout_Wait_Cordova 3_Touchmove - Fatal编程技术网

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

Cordova/Phonegap:JavaScript等待屏幕导致onScrollChanged事件,javascript,settimeout,wait,cordova-3,touchmove,Javascript,Settimeout,Wait,Cordova 3,Touchmove,我有一个“等待屏幕”,在Cordova/PhoneGap 3.3中的javascript计算过程中显示(这需要5-10秒)。等待屏幕是整个屏幕上的一个DIV,使视图变暗。我的问题是,当用户滑动等待屏幕时,整个应用程序滚动到部分离开屏幕的一侧,同时打印以下日志消息: CordovaActivity: onMessage(onScrollChanged,org.apache.cordova.ScrollEvent@4207f0f0) 我猜这是因为我们在window.setTimeout的帮助下触发

我有一个“等待屏幕”,在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添加到wait screen DIV,但它没有阻止移动

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

有人能帮我做以下事情吗? 1) 在没有超时的情况下执行等待屏幕 或 2) 在超时期间有效阻止touchmove


谢谢。

据我所知,Javascript不是多线程的,因此,我相信您的问题可能在于添加侦听器之前运行的事件的可能原因,或者其他一些错误。我在应用程序启动后的等待屏幕之前添加了侦听器。