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
实例。
我目前正在使用 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
实例。