Javascript Hammer.js pan事件仅适用于触摸设备,不适用于台式计算机单击+;拖曳
我将此标准代码用于带Hammer.js的Pan/Pinch(1):Javascript Hammer.js pan事件仅适用于触摸设备,不适用于台式计算机单击+;拖曳,javascript,ios,mobile,hammer.js,Javascript,Ios,Mobile,Hammer.js,我将此标准代码用于带Hammer.js的Pan/Pinch(1): 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 w
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 pan事件单击+拖动
?(因为我已经有了桌面计算机单击+拖动的工作代码,我不想重写此代码!)
注(1):顺便问一下,这个代码好吗?为什么真正需要
recognizeWith
通过设置inputClass选项,可以强制Hammer.js使用所需的输入类:
如果可用,您可能还希望支持指针事件:
var hammer = Hammer(element, {
inputClass: Hammer.SUPPORT_POINTER_EVENTS ? Hammer.PointerEventInput : Hammer.TouchInput
})
Hammer.js内置了以下InputClass:
- 点通风输入
- 触摸输入
- 鼠标输入
- 触摸鼠标输入
var hammer = Hammer(element, {
inputClass: Hammer.SUPPORT_POINTER_EVENTS ? Hammer.PointerEventInput : Hammer.TouchInput
})