在 ICS webview(与 2.3.3 等旧版本兼容)中,我正在加载 html 文件并编写了一些与 javascript 中的 touchmove 和 touchend 等触摸事件相关联的函数。但是 ICS 中的问题是有时无法识别设备上的点击,甚至在 logcat 中也没有错误,有人可以解决这个问题吗?提前致谢。
问问题
1321 次
1 回答
2
可能是您的设备将它们视为鼠标事件。(糟透了……)
我面临着类似的问题。我不确定这是我的平板电脑的问题还是 ICS 默认浏览器/webview 的一般问题。
测试以下内容。
- 编写没有 jquery/plugin 的 html/js:
- 将一些函数绑定到 mouseevents (mousedown/mousemove/mouseup) 和 touchevents (touchstart/touchmove/touchend/touchcancel) 以跟踪它们
- 因此,您可以跟踪是否 mousedown/mousemove/mouseup/touchstart/touchmove/touchend 网页
- 将网页上传到网络
- 现在,使用不同的设备来测试网页。
- 使用 PC(任何浏览器),它应该被跟踪为 mouseevents
- 使用i-device,它应该被追踪为touchevents
- 使用 Android 2.3.X(任何浏览器),它应该被跟踪为 touchevents
- 用 ICS 试试。这是我的问题:
- 使用 Android ICS 的 Chrome 浏览器,它被跟踪为 touchevents。(美好的)
- 使用 Android ICS 的默认浏览器,它被跟踪为鼠标事件。(什么!!)
更糟糕的是,在我的 ICS 设备(默认浏览器)中:
- 我的 ICS 的默认浏览器中永远不会触发 touchevents。如果我触摸网页,它会显示 mousedown/mousemove。
- 这些设备确实支持创建触摸事件(document.createEvent),这是一个谎言。
- mouseevents 序列未完成。所以,即使我的代码同时支持 mouseevents 和 touchevents,mouseevent 函数仍然不能支持这个 ICS 设备。
于 2012-07-10T04:28:58.210 回答