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

时间:2015-02-18 09:17:24

标签: javascript hammer.js panning

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

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

BR, 丹尼尔

1 个答案:

答案 0 :(得分:2)

你应该使用'捏'事件。用于双指平移和缩放。 PINCH事件具有属性:'指针',带有手指事件;

    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
        };
      });