gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:08 24 4
gpt4 key购买 nike

我将此标准代码用于 Pan/Pinch (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(因为我有已经为桌面计算机点击+拖动工作代码,我不想重写这个!)

注解 (1) : 顺便说一句,这段代码好吗?为什么真的需要 recognizeWith :

最佳答案

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

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

如果可用,您可能还想支持指针事件:

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

Hammer.js 内置了以下输入类:

  • 指针事件输入
  • 触控输入
  • 鼠标输入
  • 触摸鼠标输入

关于javascript - Hammer.js 平移事件仅适用于触摸设备,不适用于桌面计算机单击+拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26319994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com