微软Surface:如何允许JavaScript的触摸/拖动事件无需通过浏览器被拦截工作?(Micr

2019-07-03 10:58发布

我有一个谷歌地图的地图在我的网站,但微软Surface平板使用时,“泛”的手势是由浏览器拦截 - 它试图进入下一个浏览器窗口。 如何使锅(拖动事件)由浏览器被忽略,以便地图可以正常工作? 要maps.google.com ,地图是完全dragable,所以必须有,谷歌采用了一种变通方法。

Answer 1:

据MS对“指针和手势事件”指南(这里: http://msdn.microsoft.com/en-us/library/ie/hh673557%28v=vs.85%29.aspx#Panning_and_zooming ),你需要添加CSS类的元素,您希望禁用的“-MS-触摸动作”规则设置为“无”这样的淘选:

.disablePanZoom 
{
    -ms-touch-action: none; /* Shunt all pointer events to JavaScript code. */
}

- 编辑 -

现在有一个不带前缀的触摸动作特性,在W3C指针事件候选recomendation建议。

从MSDN文档 :

如Internet Explorer 11,此事件(-MS-触摸动作)的Microsoft供应商前缀的版本不再支持,并可能在将来的版本中删除。 相反,使用非前缀名的触摸动作,这是标准的符合性和未来的兼容性更好。



文章来源: Microsoft Surface: How do I allow JavaScript touch/drag events to work without being intercepted by the browser?