【问题标题】:How can I disable flick behavior in a browser? (Chrome/Firefox)如何禁用浏览器中的轻弹行为? (铬/火狐)
【发布时间】:2016-04-26 23:10:45
【问题描述】:

轻拂是可以用触控笔或手指触发的手势,以在 Windows 中的应用程序中后退、前进、向下或向上滚动。

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

在我的网络应用程序中,我使用 HTML5 画布来捕获鼠标事件以进行绘制。在 Microsoft Surface(启用了轻弹)中,由于轻弹,mousedown 事件被延迟,并且几个 mousemoves 被忽略并且不会传输到 Web 应用程序。此外,有时,用户会因为轻弹动作而后退/前进/向上/向下滚动。

以下是此问题的重现/描述/屏幕截图: https://github.com/jogonzal/MinimalisticFlickDelayRepro

【问题讨论】:

    标签: javascript html google-chrome firefox stylus-pen


    【解决方案1】:

    解决方法是禁用 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

    (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

    【讨论】:

      猜你喜欢
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      相关资源
      最近更新 更多