2016-04-26 701 views
0

轻拂是手势或手指触发的手势,可以在窗口中的应用程序中向后,向前,向下滚动或向上滚动。如何禁用浏览器中的滑动行为? (Chrome/Firefox)

http://windows.microsoft.com/en-us/windows7/what-are-flicks

在我的web应用程序,我使用的是HTML5画布捕捉鼠标事件绘制。在Microsoft Surface(启用了滑动功能)中,由于滑动,mousedown事件被延迟,几个mousemoves被忽略,并且未传输到Web应用程序。此外,有时,由于轻弹动作,用户返回/前进/向上/向下滚动。

下面是这个问题的一个摄制/说明/截图: https://github.com/jogonzal/MinimalisticFlickDelayRepro

回答

0

解决方法是在Chrome或Firefox禁用快速滑动手势 - 这意味着在Firefox/Chrome中的代码更改的Windows应用程序要么:

  • 完全关闭这个功能(首选,这是IE浏览器和边缘做)
  • 允许开发者通过CSS关闭这个功能/ JavaScript的

选项1使用TABLET_DISABLE_FLICKS(推荐,大量的在github示例中,这是IE和边缘如何做到这一点)

(C++): 禁用笔触如本文中描述: https://msdn.microsoft.com/en-us/library/dd562171(v=VS.85).aspx 代码示例 https://github.com/jonathanhook/Waves/blob/bc5a3c9a8a2c8574b28174e25650753237bc8cd2/Source/MultiTouchEvents/WMTouchEventSource.cpp

(C#): 代码示例 https://github.com/leowangzi/DanielLib/blob/6aaae88bd9ec9ae91da35fa3bdcd280f2c701e64/DanielLib.TouchAppTemplate/Touchtech.Surface.Community/TabletUtil.cs

选项2响应WM_TABLET_QUERY_SYSTEM_GESTURE_STATUS

https://msdn.microsoft.com/en-us/library/windows/desktop/ms699430(v=vs.85).aspx