【问题标题】:Using pan along with swipe is not working in Hammer.JS使用平移和滑动在 Hammer.JS 中不起作用
【发布时间】:2017-12-14 05:39:31
【问题描述】:

我有一个网格,其中 pan 应该用于多个网格行的选择。滑动应该用于滚动行。当我同时使用平移和滑动时,总是平移而不是滑动。

我试过recognizewith。它不适用于我的用例。

滑动时,平移不应触发,反之亦然。我尝试了速度和阈值的所有排列。

如何防止平移和滑动相互干扰?

【问题讨论】:

  • “滑动时,平移不应该触发,反之亦然”是一种误解。滑动只会在用户以足够的速度释放触摸时触发; pan 会随着用户在触摸时拖动而连续触发。

标签: swipe hammer.js pan


【解决方案1】:

我发现的一种解决方法是使用一个Hammer.Manager 进行滑动,另一个使用Hammer.Manager 进行平移(我不知道这是否是正确的方法,但不幸的是它们似乎不是在某些情况下可以很好地配合使用)。

您可能希望先创建滑动管理器,以便在panend 事件之前获得swipe 事件。

例子:

const hammerSwipe = new Hammer.Manager(
  element,
  {
    recognizers: [
      [Hammer.Swipe, { direction: Hammer.DIRECTION_HORIZONTAL }],
    ],
  }
))
hammerSwipe.on('swipe', this._handleSwipe)

const hammerPan = new Hammer.Manager(
  element,
  {
    recognizers: [[Hammer.Pan]],
  }
))
hammerPan.on('panmove', this._handlePan)
hammerPan.on('panend', this._handlePanEnd)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多