Javascript 如何检测浏览器是否支持gesturestart事件?

Javascript 如何检测浏览器是否支持gesturestart事件?,javascript,html,touch,Javascript,Html,Touch,如何检测浏览器是否支持手势开始和其他手势事件?这些事件用于收缩以旋转和缩放 它们似乎只在iOS上可用 如果它们本机不可用,我希望模拟它们。尝试此方法,捕获更多设备/浏览器:- try { document.createEvent("gesturestart"); alert(true); } catch (e) { alert(false); } 我认为您可以简单地检查事件是否存在,例如: document.documentElement.ontouchstart !== 'und

如何检测浏览器是否支持手势开始和其他手势事件?这些事件用于收缩以旋转和缩放

它们似乎只在iOS上可用


如果它们本机不可用,我希望模拟它们。

尝试此方法,捕获更多设备/浏览器:-

try {
  document.createEvent("gesturestart");
  alert(true);
}
catch (e) {
  alert(false);
}

我认为您可以简单地检查事件是否存在,例如:

document.documentElement.ontouchstart !== 'undefined'

您可以在
窗口中检查
ongesturestart
,如下所示:

if ('ongesturestart' in window){

  // do something 
}

这里提到的其他方法将在MacOS Safari上失败

在MacOS Safari中,即使支持
gesturestart
等手势事件,窗口中的
'ongesturestart'仍返回
false

您可以通过检查
GestureEvent
来检查手势支持:

'GestureEvent' in window

不幸的是,createEvent()没有将事件名称作为参数。它采用事件类别,例如“MouseeEvents”或“TouchEvents”。现在还不清楚手势应该是什么<代码>窗口。在Safari上未定义OnTestureStart
,即使支持手势事件。在窗口中尝试“手势事件”