我使用这个标准代码进行平移/捏合(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(使用前将#替换为@)