2011-05-23 152 views
7

我想知道html5是否支持原生移动设备上的触摸功能?因此,我们不必为iOS/Android/WP7制作本机应用程序,但可以制作在移动浏览器中加载的html5页面。html5是否支持手机触摸?

编辑

我的意思是在浏览器的触摸本地JavaScript的支持,所以你可以做你用HTML5触摸自己的事情。

回答

8

取决于触摸事件的类型。对于您的标准浏览器点击/鼠标事件,这些由浏览器模拟。正如Halst所提到的,只需让您的可点击元素大到足以在移动环境中工作即可。

如果你想使用多点触摸/手势,它会变得更有趣。

Webkit提供了touchstart, touchmove, touchend, touchcancel。对于单点触摸事件,IOS Safari和Android Webkit中的支持应该相同。你可以推出自己的游戏或者使用像jqTouch这样的图书馆。

你可以阅读更多关于如何IOS Safari handles touch events。 Android的事件似乎没有文档记载,但您可以在quirksmode touch support上阅读更多内容。

+0

https://github.com/zlatnaspirala/multi-touch-canvas-handler/blob/master/README.md 使用此脚本,您可以同时处理10个手指 – 2016-03-22 10:38:34

2

只要让liks和按钮足够大,就是这样。

+0

我的意思是在移动浏览器中的javascript支持。我编辑了我的问题。 – 2011-05-24 05:37:20

0

有点。

可以编写一个看起来像iPad本地应用程序(包括多点触摸)的网页,但我不得不放弃使用“高级别”事件,而必须明确处理touches数组以获得合理的缩放/平移。结果是国际海事组织相当不错(我已经表明,矢量图形编辑玩具认为这是一个本地应用程序)。

对于Android而言,由于我的Nexus显然没有办法让任何东西接近全屏(对于手机丢失地址栏空间意味着失去很多空间),而且多点触控在默认浏览器中禁用:-(

然而,两个问题(全屏和多点触控),例如在Opera中解决,这在我看来是悲伤的,因为(可能)这意味着他们不想要好的网络应用程序手机......

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