javascript - 微软表面 : How do I allow JavaScript touch/drag events to work without being intercepted by the browser?

标签 javascript google-maps touch dom-events windows-rt

我的网站上有一张 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 属性。

来自MSDN documentation :

自 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/

相关文章:

javascript - jQuery:如何将选择保存在 cookie 中?

javascript - 如何在外部 Javascript 中使用 PHP 变量

ios - 当前位置谷歌地图 swift ,无法访问defaultLocation.coordinate

安卓触摸输入 : Coordinates?

javascript - 如何通过 javascript 确定触摸事件(或鼠标事件)中的真实 x y 坐标?

javascript - 柯里化(Currying)导致基函数不起作用?

google-maps - 如何根据 heroku 应用程序名称使用 google api key

javascript - 如何在安卓应用中使用谷歌地图

javascript - 使用 quo.js 触摸滑动坐标

javascript - 为什么在 ECMAscript 中函数 <= 函数为真,但 NaN <= NaN 为假