在 Chrome 中的 Macbook Pro 上,在屏幕上滑动两根手指可以前后移动。我该如何禁用此功能,并在 jQuery 或 Javascript 中创建自定义手势?
我真正需要知道的是当两个手指放在触控板上时如何检测,我认为这是最好的方法。您可以使用 e.touches 在移动设备上完成此操作!
2017 年 5 月更新
- Chrome 已经实施了新的轮事件 https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent。捏缩放可以被检测为滚轮事件
ctrlKey === true
.
- 火狐浏览器是要去船 https://bugzilla.mozilla.org/show_bug.cgi?id=1052253Fx55 中的行为相同。
- Edge 支持滚轮事件除非您使用“精密触摸板” https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7134034/。不知道捏缩放怎么样。
- Opera 可能与 chrome 行为匹配(未测试)
- Safari 有基本的轮子事件并支持专有(但有点很棒)手势事件 https://developer.mozilla.org/en-US/docs/Web/API/GestureEvent
原答案
截至 2016 年 4 月,不同浏览器以(非常)不同的方式支持捏合缩放手势:
- Chrome 发送
mousewheel
- 事件与ev.ctrlKey===true
- Mozilla 正在讨论匹配 chrome 行为:https://bugzilla.mozilla.org/show_bug.cgi?id=1052253 https://bugzilla.mozilla.org/show_bug.cgi?id=1052253
- 在现代 Safari (>9.1) 中可以使用手势事件:https://developer.apple.com/library/archive/releasenotes/General/WhatsNewInSafari/Articles/Safari_9_1.html https://developer.apple.com/library/archive/releasenotes/General/WhatsNewInSafari/Articles/Safari_9_1.html and https://developer.apple.com/documentation/webkitjs/gestureevent https://developer.apple.com/documentation/webkitjs/gestureevent
- Edge 根本不可能处理它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)