使用Hammer.js进行多点触控平移

Dan*_*iel 5 javascript panning hammer.js

我很难用hammer.js实现多点触控平移.仅使用单指针触发平移事件.如果我尝试用两根手指拖动它,直到我释放至少一根手指才会开火.我是否必须对锤子配置做一些特殊操作?

编辑:我已经发现我可以为pan事件配置2个指针,但是现在我看到Chrome有一个内置功能,可以在双指点击上打开上下文菜单,这大部分时间都会阻止平移被识别.如果我只是捕获'contextmenu'事件并调用preventDefault(),它(显然)将完全禁用pan识别器.还有其他方法吗?

BR,丹尼尔

sai*_*ike 3

您应该使用“捏”事件。用于两指平移和缩放。PINCH事件具有属性:'pointers',带有手指事件;

    var previous_pinch_delta = {
      x: 0,
      y: 0
    };
    hammered.on('pinch', function(e){
        camera.pan(e.deltaX-previous_pinch_delta.x, e.deltaY-previous_pinch_delta.y);
        previous_pinch_delta = {
          x: e.deltaX,
          y: e.deltaY
        };
      });
Run Code Online (Sandbox Code Playgroud)