Cordova / PhoneGap:iPad上的双击问题

时间:2018-08-22 00:16:25

标签: cordova ipad phonegap-build

我已经构建了一个混合应用程序(游戏),并且正在使用PhoneGap Build构建我的软件包。到目前为止,我已经在Android手机,iPhone和iPad上测试了该应用程序。 iPad是唯一给我带来问题的设备,我怀疑它与双击和300ms延迟有关。

首先,我没有遇到延迟(我的游戏使用touchend事件)。但是,每当我点击屏幕时,大约半秒钟后(我猜是300ms之后;)),整个游戏就会暂停十分之一秒左右。我认为这一定与双击有关,因为如果双击,则不会发生暂停。

有没有一种方法可以完全禁用双击?还是通过其他方法摆脱暂停?顺便说一句,在iPhone上,我并没有遇到这个问题,仅在iPad上。

1 个答案:

答案 0 :(得分:0)

事实证明,这确实与300ms抽头延迟有关。即使我实际上是在使用touchend事件来检测屏幕点击,即使我认为我都已通过以下方式禁用了双击/轻击:

<meta name="viewport" content="width=device-width, user-scalable=no" />

<style>
  * {
    -webkit-user-select: none;  /* Prevent Double tap (COPY/SELECT) on iOS */
  }
</style>

300毫秒的延迟仍然存在,因此在300毫秒之后,产生了单击事件,由于某种晦涩的原因,该事件导致了暂停。因此,为了防止这种情况,我只是“禁用”了 touchstart 事件:

element.addEventListener("touchstart", function(e) {
  e.preventDefault();
  e.stopPropagation();
}, false);

Voila。问题解决了。 :)