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