Javascript PhoneGap触摸事件仅在设备旋转后触发

Javascript PhoneGap触摸事件仅在设备旋转后触发,javascript,cordova,touch,Javascript,Cordova,Touch,在PG2.2.0中使用PhoneGap构建,并在我的Galaxy S2上使用Android 4.0.4进行测试 我已经发现了,但我不确定他们是否描述了完全相同的问题 我正在使用Tap.js和iScroll。在我至少旋转设备一次之前,这两个选项都不起作用(我无法滚动或使用我的应用程序菜单)。我可以把它旋转回到我开始的地方,它仍然可以工作。第一次旋转/方向改变似乎触发了某种刷新,但我不知道该如何处理 也许有人有同样的症状能够解决这个问题。谢谢 编辑:我禁用了所有JS,并将此代码放入devicerad

在PG2.2.0中使用PhoneGap构建,并在我的Galaxy S2上使用Android 4.0.4进行测试

我已经发现了,但我不确定他们是否描述了完全相同的问题

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

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

编辑:我禁用了所有JS,并将此代码放入
devicerady

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

我只在至少一次
方向更改后得到
警报

在我拆开我的应用程序并创建一个测试用例后,我发现如下内容:添加
位置:相对
html
body
结合
溢出:隐藏似乎是导致问题的原因

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

  • 再次创建html和正文
    静态
  • 删除
    溢出:隐藏来自html和正文
  • 而是将这两个应用于
    #app
    (我的包装器div)
  • document
    level和
    preventDefault上收听
    touchstart touchmove touchend
2013年6月12日更新,另一个重要发现:

  • 如果为
    touchstart
    调用preventDefault,则
    touchmove
    将不会启动