2016-04-26 34 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