我的网站上有一张 Google Maps map ,但当它与 Microsoft Surface 平板电脑一起使用时,“平移”手势会被浏览器拦截——它会尝试转到下一个浏览器窗口。如何允许浏览器忽略平移(拖动事件)以使 map 正常运行?转到 maps.google.com
, map 完全可以拖动,因此 Google 必须采用一种解决方法。
最佳答案
根据 MS 的“指针和手势事件”指南(此处:http://msdn.microsoft.com/en-us/library/ie/hh673557%28v=vs.85%29.aspx#Panning_and_zooming),您需要将 CSS 类添加到要禁用平移的元素,并将“-ms-touch-action”规则设置为“无”是这样的:
.disablePanZoom
{
-ms-touch-action: none; /* Shunt all pointer events to JavaScript code. */
}
--编辑--
W3C Pointer Events Candidate recomendation 中提出了一个无前缀的触摸 Action 属性。
自 Internet Explorer 11 起,不再支持此事件的 Microsoft vendor 前缀版本 (-ms-touch-action),并且可能会在未来版本中删除。相反,使用无前缀的名称 touch-action,这对于标准合规性和 future 兼容性更好。
关于javascript - 微软表面 : How do I allow JavaScript touch/drag events to work without being intercepted by the browser?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130004/