HTML5在移动手机上支持触摸吗?

7
我想知道HTML5是否在移动设备上本地支持触摸功能?这样我们就不必为iOS/Android/WP7制作本地应用程序,而是可以制作一个在移动浏览器中加载的HTML5页面。
编辑:
我的意思是浏览器中对于触摸本地JavaScript的支持,因此您可以在HTML5中自己处理触摸。
3个回答

8

根据触摸事件的类型而定。对于您的标准浏览器点击/鼠标事件,这些由浏览器模拟。正如Halst所提到的,只需将可点击元素足够大以在移动环境中使用。

如果要使用多点触控/手势,则会变得更加有趣。

Webkit提供touchstart,touchmove,touchend,touchcancel。对于单点触摸事件,在IOS Safari和Android Webkit中的支持应该是相同的。您可以自己编写代码,也可以使用像jqTouch这样的库。

您可以阅读有关IOS Safari处理触摸事件的更多信息。 Android的事件似乎没有文档记录,但您可以在quirksmode touch support上阅读更多内容。


使用此脚本,您可以同时处理10个手指。https://github.com/zlatnaspirala/multi-touch-canvas-handler/blob/master/README.md - Nikola Lukic

2

只需要将链接和按钮做得足够大,就可以了。


我指的是移动浏览器中的JavaScript支持。我编辑了我的问题。 - Wessel Kranenborg

0

有点。

可以编写一个网页,看起来几乎像iPad的本机应用程序(包括多点触控),但我不得不放弃使用“高级”事件,而是必须显式处理touches数组,以获得合理的缩放/平移。结果在我看来相当不错(我向人们展示矢量图形编辑器玩具时,他们认为这是一个本地应用程序)。

然而,在Android上,情况有些棘手,因为在我的Nexus one上,似乎没有办法接近全屏幕(对于手机来说,失去地址栏空间意味着失去很多空间),并且默认浏览器中也禁用了多点触控 :-(

不过,这两个问题(全屏和多点触控)在Opera中都得到了解决,这让我感到遗憾,因为(可能)这意味着他们不想要在手机上开发出好的Web应用程序......

因此,在技术上,可以编写一个单一的html5 / js程序,在桌面和手机上运行,但这当然并不意味着最佳的桌面应用程序UI也是最适合手机的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接