Hammer.js: 有没有办法在不使用锤子管理器的情况下添加自定义触摸识别器?

Hammer.js: Is there a way to add a custom touch recognizer without using the hammer manager?

我目前正在使用 hammer.js 触摸库来执行点击和平移事件。我已经到了需要双击事件的地步。

根据双击示例,锤子管理器创建了一个没有预设识别器的新锤子对象。你基本上 add/build 你自己的。

//We create a manager object, which is the same as Hammer(), but without the presetted recognizers. 
var mc = new Hammer.Manager(myElement);

要添加自定义识别器,您可以调用 .add 并为要添加的识别器提供参数。

// Tap recognizer with minimal 2 taps
mc.add( new Hammer.Tap({ event: 'doubletap', taps: 2 }) );

我已经能够使用管理器添加自定义识别器,但失去了我之前工作的默认点击和拖动事件的功能。有没有办法在不使用锤子管理器的情况下添加锤子识别器?如果没有,那么有没有办法使用管理器并仍然保留默认的预设识别器?

如果我对您的问题的理解正确,那么解决方案是将您的自定义识别器添加到默认的 Hammer 管理器。

var mc = new Hammer(myElement);
mc.add(new Hammer.Tap({ event: 'doubletap', taps: 2 }));

当您执行 new Hammer(element) 时,这只会创建一个添加了默认识别器的 Hammer.Manager 实例。