在Hammer.JS

时间:2017-12-14 05:39:32

标签: swipe hammer.js pan

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

我试过了recognizewith。它对我的用例不起作用。

在滑动时,平底锅不应该开火,反之亦然。我尝试了速度和阈值的所有排列。

如何防止摇摄和滑动相互干扰?

1 个答案:

答案 0 :(得分:0)

我发现一种解决方法是使用一个Hammer.Manager进行滑动,而使用另一个Hammer.Manager进行平移(我不知道这是否是正确的方法,但是很遗憾,在某些情况下似乎不能很好地玩在一起。)

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

示例:

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)