0

我想在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']);
4

1 回答 1

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

于 2015-08-29T19:06:03.040 回答