如何在浏览器中禁用轻弹行为? (Chrome/Firefox)
How can I disable flick behavior in a browser? (Chrome/Firefox)
在 windows.
中的应用程序中,轻击是可以用手写笔或手指触发的手势,用于后退、前进、向下或向上滚动
http://windows.microsoft.com/en-us/windows7/what-are-flicks
在我的网络应用程序中,我使用 HTML5 canvas 来捕获要绘制的鼠标事件。在 Microsoft Surface(启用了轻弹)中,由于轻弹,mousedown 事件被延迟并且几个 mousemoves 被忽略并且没有传输到 web 应用程序。此外,有时,由于轻弹操作,用户会 back/forward/scrolls up/down。
这是本期的 repro/description/screenshot:
https://github.com/jogonzal/MinimalisticFlickDelayRepro
解决方法是在 Chrome 或 Firefox 中禁用轻弹手势 - 这意味着 Firefox/Chrome windows 应用程序中的 代码更改为:
- 完全关闭它(首选,这是 IE 和 Edge 所做的)
- 允许开发人员通过 CSS/Javascript
关闭此功能
选项1使用TABLET_DISABLE_FLICKS(推荐,github上有很多例子,IE和Edge就是这样做的)
(C++):
如本文所述禁用笔势:
https://msdn.microsoft.com/en-us/library/dd562171(v=VS.85).aspx
代码示例
https://github.com/jonathanhook/Waves/blob/bc5a3c9a8a2c8574b28174e25650753237bc8cd2/Source/MultiTouchEvents/WMTouchEventSource.cpp
选项 2 回复 WM_TABLET_QUERY_SYSTEM_GESTURE_STATUS
https://msdn.microsoft.com/en-us/library/windows/desktop/ms699430(v=vs.85).aspx
在 windows.
中的应用程序中,轻击是可以用手写笔或手指触发的手势,用于后退、前进、向下或向上滚动http://windows.microsoft.com/en-us/windows7/what-are-flicks
在我的网络应用程序中,我使用 HTML5 canvas 来捕获要绘制的鼠标事件。在 Microsoft Surface(启用了轻弹)中,由于轻弹,mousedown 事件被延迟并且几个 mousemoves 被忽略并且没有传输到 web 应用程序。此外,有时,由于轻弹操作,用户会 back/forward/scrolls up/down。
这是本期的 repro/description/screenshot: https://github.com/jogonzal/MinimalisticFlickDelayRepro
解决方法是在 Chrome 或 Firefox 中禁用轻弹手势 - 这意味着 Firefox/Chrome windows 应用程序中的 代码更改为:
- 完全关闭它(首选,这是 IE 和 Edge 所做的)
- 允许开发人员通过 CSS/Javascript 关闭此功能
选项1使用TABLET_DISABLE_FLICKS(推荐,github上有很多例子,IE和Edge就是这样做的)
(C++): 如本文所述禁用笔势: https://msdn.microsoft.com/en-us/library/dd562171(v=VS.85).aspx 代码示例 https://github.com/jonathanhook/Waves/blob/bc5a3c9a8a2c8574b28174e25650753237bc8cd2/Source/MultiTouchEvents/WMTouchEventSource.cpp
选项 2 回复 WM_TABLET_QUERY_SYSTEM_GESTURE_STATUS
https://msdn.microsoft.com/en-us/library/windows/desktop/ms699430(v=vs.85).aspx