JavaScript - 用两个或多个手指滚动

时间:2015-06-30 15:31:14

标签: javascript ios html5

我正在使用支持触摸的Web应用程序。在IOS上,我使用“gesturestart”和“gesturechange”事件进行触摸手势识别。但我无法找到有关此事件的任何文档。有没有人知道是否有任何用两个或更多手指滚动的事件?

1 个答案:

答案 0 :(得分:1)

我是怎么做到的:

要使用第三方框架实现不使用,请使用event.pointers属性了解正在使用的手指或指针的数量:我将其放入GestureChange,以防有人添加第三根手指开始后。

  

注意:有些网站还会显示event.touches数组,这可能是手指不是鼠标所需的数据

代码:

dom.addEventListener("gesturechange", gestureChange, false);

function gestureChange(e) {
    // use the .length to count the amount of event.pointers
    if(e.pointers.length >= 2){
       // scroll with 2 or more
    }
}

说明:

在gestureChange上返回的事件对象应如下所示:(我用鼠标生成这个,所以只有一个触摸事件,而不是手指!)

Object { 
   pointers: Array[1], 
   changedPointers: Array[1],
   pointerType: "mouse",
   srcEvent: mousemove,
   isFirst: false,
   isFinal: false,
   eventType: 2,
   center: {x: 1211, y: 332},
   timeStamp: 1435678852765, 
   deltaTime: 22,
   angle:-11.003540851749504 
... more
}