0

在 ICS webview(与 2.3.3 等旧版本兼容)中,我正在加载 html 文件并编写了一些与 javascript 中的 touchmove 和 touchend 等触摸事件相关联的函数。但是 ICS 中的问题是有时无法识别设备上的点击,甚至在 logcat 中也没有错误,有人可以解决这个问题吗?提前致谢。

4

1 回答 1

2

可能是您的设备将它们视为鼠标事件。(糟透了……)

我面临着类似的问题。我不确定这是我的平板电脑的问题还是 ICS 默认浏览器/webview 的一般问题。

测试以下内容。

  1. 编写没有 jquery/plugin 的 html/js:
    • 将一些函数绑定到 mouseevents (mousedown/mousemove/mouseup) 和 touchevents (touchstart/touchmove/touchend/touchcancel) 以跟踪它们
    • 因此,您可以跟踪是否 mousedown/mousemove/mouseup/touchstart/touchmove/touchend 网页
    • 将网页上传到网络
  2. 现在,使用不同的设备来测试网页。
    • 使用 PC(任何浏览器),它应该被跟踪为 mouseevents
    • 使用i-device,它应该被追踪为touchevents
    • 使用 Android 2.3.X(任何浏览器),它应该被跟踪为 touchevents
  3. 用 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 回答