0

使用带有 PG 2.2.0 的 PhoneGap 构建并在我的带有 Android 4.0.4 的 Galaxy S2 上进行测试

我已经发现触摸事件在 android phonegap webview(甚至内置浏览器)中不起作用,Galaxy S3 上的 Phonegap 忽略了触摸事件,并且ICS 触摸事件中的 WebView 没有被正确触发,但我不确定它们是否描述了完全相同的问题.

我正在使用 Tap.js 和 iScroll。在我至少旋转设备一次之前,它们都不起作用(我无法滚动或使用我的应用程序菜单)。我可以将它旋转回我开始的地方,它仍然可以工作。似乎第一次旋转/方向更改触发了某种刷新,但我不知道我应该如何处理这个问题。

也许有相同症状的人能够解决这个问题。谢谢。

编辑:我禁用了所有 JS 并将此代码放入其中deviceready

document.getElementById('app').addEventListener('touchstart', function() {
    alert('touchstart #app');
}, false);

而且我只得到了alert至少一个之后orientationchange

4

1 回答 1

0

在我拆开我的应用程序并创建一个测试用例后,我发现了以下内容: 添加position:relative;htmlbody结合overflow:hidden;似乎导致了问题。

为了完全解决我的问题,我采取了以下步骤:

  • static再次制作html和body
  • overflow:hidden;从 html 和 body 中删除
  • 而是同时应用于#app(我的包装器 div)
  • 听水平touchstart touchmove touchenddocumentpreventDefault

2013 年 6 月 12 日更新,另一个重要发现:

  • 如果您为 调用 preventDefault touchstart,则touchmove不会触发
于 2013-02-16T12:50:57.993 回答