我想知道html5是否支持移动设备原生的触控功能?因此,我们不必为iOS / Android / WP7制作本机应用程序,但可以创建一个在移动浏览器中加载的html5页面。
修改
我指的是浏览器中对touch native的JavaScript支持,因此你可以通过html5中的触摸来自己做事。
答案 0 :(得分:8)
取决于触摸事件的类型。对于标准浏览器单击/鼠标事件,这些事件由浏览器模拟。正如Halst所提到的,只需使您的可点击元素足够大,即可在移动环境中工作。
如果你想使用多点触控/手势,它会变得更有趣。
Webkit提供touchstart, touchmove, touchend, touchcancel
。对于单点触摸事件,IOS Safari和Android Webkit中的支持应该相同。您可以自己滚动或使用像jqTouch这样的库。
您可以详细了解IOS Safari handles touch events的方式。 Android的事件似乎没有详细记录,但您可以在quirksmode touch support上阅读更多内容。
答案 1 :(得分:2)
只需使链接和按钮足够大,就是这样。
答案 2 :(得分:0)
有点。
可以编写一个看起来几乎像iPad的原生应用程序的网页(包括多点触控),但我不得不放弃使用“高级”事件而必须明确处理touches
数组获得合理的缩放/平移。结果是IMO相当不错(人们我已经证明了矢量图形编辑器玩具认为它是一个原生应用程序)。
对于Android而言事情有点棘手,因为在我的Nexus上显然没有办法让任何接近全屏的东西(对于失去地址栏空间的手机意味着失去很多空间)而且多点触控也是在默认浏览器中禁用: - (
然而,这两个问题(全屏和多点触控)都解决了,例如在Opera中,这在我看来很难过,因为(可能)这意味着他们不想在手机上使用好的网络应用......从技术上讲,可以编写一个在桌面和手机上运行的单个html5 / js程序,但这当然不意味着桌面应用程序的最佳用户界面也是手机的最佳用户界面。