Hammer.js requireFailure()是否可以在水龙头上使用多个指针?

时间:2015-08-29 18:18:07

标签: javascript hammer.js taps

我想在js中设置一个手势,您可以用两根手指轻敲多次,并获得显示您的动作的结果。如果将属性指针设置为1(用1个手指点击)或删除requireFailure(),它的工作完全正常。

您可以在此处测试代码,在智能手机或模拟器上使用两根手指点按:http://codepen.io/JanIngwer/pen/eNwOPO

  mc.add(new Hammer.Tap({ event: 'tripletap', taps: 3, interval: 800, posThreshold: 100, pointers: 2  }));
  mc.add(new Hammer.Tap({ event: 'doubletap', taps: 2, interval: 800, posThreshold: 100, pointers: 2  }));
  mc.add(new Hammer.Tap({ event: 'singletap',  interval: 800, posThreshold: 100, pointers: 2}));


   mc.get('tripletap').recognizeWith(['doubletap', 'singletap']);
   mc.get('doubletap').recognizeWith('singletap');

   mc.get('doubletap').requireFailure('tripletap');
   mc.get('singletap').requireFailure(['tripletap', 'doubletap']);

1 个答案:

答案 0 :(得分:0)

您只需要扩展可点击区域并限制为单个指针。这允许单个双重或三重执行我的多个手指。

http://codepen.io/anon/pen/PPYvqo

mc.add(new Hammer.Tap({ event: 'ragetap', taps: 5, interval: 800, posThreshold: 1000, pointers: 1 }));
mc.add(new Hammer.Tap({ event: 'tripletap', taps: 3, interval: 800, posThreshold: 1000, pointers: 1  }));
mc.add(new Hammer.Tap({ event: 'doubletap', taps: 2, interval: 800, posThreshold: 1000, pointers: 1  }));
mc.add(new Hammer.Tap({ event: 'singletap',  interval: 800, posThreshold: 1000, pointers: 1}));

扩展识别区域也可以在需要多个指针时使用。

http://codepen.io/anon/pen/ZbzNbX