IE10是否支持触摸事件?

9

我正在考虑一个针对使用触摸屏的Internet Explorer 10的项目。目前我手头没有触摸屏,但需要知道Internet Explorer 10是否支持DOM触摸事件。

2个回答

19

更新:触摸事件在Internet Explorer中正在开发中

虽然IE10不支持touchstarttouchend类型的事件,但它将支持由指针组成的模型,这可能是一种更优越的模型。这些通用指针捕获来自笔、鼠标和手指的输入。有一篇很好的介绍文章Touch Input for IE10 and Metro style Apps,日期为2011年9月。

您应该能够通过一些功能检测和巧妙的脚本使旧的touch模型与MSPointer模型良好地配合使用:

var elm = document.getElementById("#foo"),
    evt = window.navigator.msPointerEnabled ? "MSPointerDown" : "touchstart";

elm.addEventListener(evt, handler, false);

关于指针和手势事件的更多信息可以在这里找到:http://msdn.microsoft.com/en-US/library/ie/hh673557.aspx

重要发展


自IE11起,“MSPointerDown”已被弃用。 - andreszs
@andreszs,你能提供这个信息的来源吗? - Sebastian Barth
1
@SebastianBarth,正如您在此处所见,MS前缀是因为在IE10发布时W3C规范尚未准备好而首次实现的。当IE11发布时,规范已达到“候选建议”状态,并且不带前缀的签名已取代MS供应商前缀版本。因此,自IE11以来,您必须使用PointerDown等。 - andreszs

6

5
只想补充一点:相比那些仅支持特定触控设备的触控事件,MSPointer更好,因为它支持任何类型的指针设备。例如,同时使用笔、触控和鼠标组合并不是问题。在我看来,这比iOS的touchstart等触控实现要好得多。 - Tower
1
我同意Tower的观点,这可能更聪明,但会给人们带来更多的工作。 - d4rklit3
6
触摸、笔和鼠标是三种不同的交互方式。手指与鼠标的工作方式不同。这并不是一种更优越的解决方案,而是一种模糊的解决方案。 - gargantuan
@Tower 注意到自IE11起已经取消了MS前缀,现在在所有浏览器中都可以正常工作而无需前缀。 - andreszs

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