【发布时间】:2026-01-19 08:50:01
【问题描述】:
如何检测浏览器是否支持手势启动和其他手势事件?这些事件用于捏合旋转和缩放。
它们似乎只在 iOS 上可用。
如果它们本身不可用,我希望模仿它们。
【问题讨论】:
标签: javascript html touch
如何检测浏览器是否支持手势启动和其他手势事件?这些事件用于捏合旋转和缩放。
它们似乎只在 iOS 上可用。
如果它们本身不可用,我希望模仿它们。
【问题讨论】:
标签: javascript html touch
试试这个方法,捕获更多设备/浏览器:-
try {
document.createEvent("gesturestart");
alert(true);
}
catch (e) {
alert(false);
}
【讨论】:
您可以在window 中检查ongesturestart:
if ('ongesturestart' in window){
// do something
}
【讨论】:
window.ongesturestart 在 Safari 上未定义,即使支持手势事件。试试'GestureEvent' in window
此处提到的其他方法在 MacOS Safari 上将失败。
在 MacOS Safari 中,'ongesturestart' in window 返回 false,即使支持像 gesturestart 这样的手势事件。
您可以通过检查 GestureEvent 来检查手势支持:
'GestureEvent' in window
【讨论】:
我认为您可以简单地检查事件是否存在,如下所示:
document.documentElement.ontouchstart !== 'undefined'
【讨论】: