Hammer.js 平移事件仅适用于触摸设备,不适用于桌面计算机单击+拖动

2024-01-27

我使用这个标准代码进行平移/捏合(1)使用 Hammer.js :

var mc = new Hammer(document.body);

mc.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith(mc.get('pan'));

// let the pan gesture support all directions. this will block the vertical scrolling on a touch-device while on the element
mc.get('pan').set({ direction: Hammer.DIRECTION_ALL });
mc.on("panleft panright panup pandown tap press pinchstart pinchmove", function(ev) {
    $('#myElement').text(ev.type +" gesture detected. ev.scale=" + ev.scale + "  ev.deltaX,Y=" + ev.deltaX +'  ' + ev.deltaY);
});

如何获取hammer.js平移事件仅适用于触摸设备不适用于台式电脑Click+Drag?(因为我已经有了桌面计算机单击+拖动的工作代码,并且我不想重写它!)

Note (1) : 顺便问一下,这段代码好吗?为什么recognizeWith真的需要吗? :


您可以通过设置强制 Hammer.js 使用您想要的输入类输入类 option:

var hammer = Hammer(element, {
  inputClass: Hammer.TouchInput
})

您可能还希望支持指针事件(如果可用):

var hammer = Hammer(element, {
  inputClass: Hammer.SUPPORT_POINTER_EVENTS ? Hammer.PointerEventInput : Hammer.TouchInput
})

Hammer.js 内置了以下 inputClasses:

  • 指针事件输入
  • 触摸输入
  • 鼠标输入
  • 触摸鼠标输入
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hammer.js 平移事件仅适用于触摸设备,不适用于桌面计算机单击+拖动 的相关文章

随机推荐