在 iPhone、iPod touch 和(可能是)iPad 上,Apple可以通过 Mobile Safari 中的 JavaScript 进行多点触控事件处理。我知道 Nexus One 最近通过更新添加了多点触控支持,而且我相信 webOS 也支持多点触控。Android 2.1 和/或 webOS 是否可以在浏览器中访问多点触控,或者这目前是 Apple 设备独有的吗?
6 回答
触摸事件的最佳主跟踪(多点触摸除外! - 上面已回答)似乎是:
http://quirksmode.org/mobile/tableTouch.html
现在,Android 2.1 让您可以捏/缩放,仅此而已。没有像在 iPhone 上那样精细的多点触控跟踪。
更新:2011 年 5 月 - Android Honeycomb 3.0 和 3.1 浏览器现在具有适当的多点触控功能
请在 Android 错误列表中为这个错误加注星标:
http://code.google.com/p/android/issues/detail?id=11909
让我们看看我们是否可以提高对这个问题的认识。
在 Palm webOS 上,您可以获得多个触摸事件。您一次最多可以接收五个接触点。
如果您使用 PDK 进行本机开发,则在http://developer.palm.com/index.php?option=com_content&view=article&id=1980&Itemid=337中描述了处理多个触摸。在 SDL 事件中,每个手指都作为单独的鼠标进行跟踪。
对于使用标准 SDK 的 Javascript 开发人员,发送的事件表明两个手指正在使用中。“gesturestart”在用户将两根手指放在屏幕上时触发,通常用于捏合或旋转,当一根或两根手指在屏幕上移动时触发“gesturechange”,当手指从屏幕上抬起时触发“gestureend”。这些在 Palm 开发人员站点上没有很好的记录,但它们在 mojomatters 示例代码中使用。
编辑:再次查看您的问题,对于通过网站交付的应用程序,WebOS 上的浏览器中没有“触摸”事件支持。
这取决于浏览器。目前运行 Android 1.5 和 HTC 定制的 TouchFlo 界面的 HTC Hero 上的浏览器一直支持多点触控。在 Android 2 更新之前,“海豚”浏览器也具有多点触控功能。也就是说,除了“捏缩放”之外,我从未尝试将多点触控用于其他任何操作,因此它可能不适用于特定的 Javascript 或类似的东西。
这取决于设备。但我认为当前的 Android 2.x 设备都具备多点触控功能。
在三星 Galaxy Tab 上,我尝试了 Android 2.2 浏览器、Dolphin HD 4 和 Opera Mini 5。与我正在寻找的最接近的实现是http://anders.com/cms/352/OpenLayers/iPhone/Android/ Touch.Gestures(该页面上以“/touchmaps”结尾的演示)适用于 Android 2.2 浏览器。这确实仅在 Android 设备上触摸平移,但在 Javascript 中没有捏缩放手势捕获,这是我真正需要的。
Firefox 4 有最好的工作和最好的文档 javascript 多点触控 API。这目前在 Firefox 4 beta 3 中实现(不幸的是仅在 Windows 7 上)。我在设备上运行了 FF4 beta 2,但它还没有多点触控支持。
我希望适用于 Android 的 FF4 b3 能够满足我的需求,并且其他浏览器实现也会效仿。在那之前,只能拭目以待。