我正在开发一个支持触摸的网络应用程序。在 IOS 上,我使用“gesturestart”和“gesturechange”事件进行触摸手势识别。但我找不到此事件的任何文档。有谁知道有没有用两个或更多手指滚动的事件?
最佳答案
我是怎么做到的:
要不使用第三方框架来实现这一点,请使用event.pointers
属性来了解正在使用的手指或指针的数量:我将其放在 GestureChange 中以防万一有人在开始后添加了第三根手指。
Note: Some sites also show a
event.touches
array, that might be what is required for fingers not mouses
代码:
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
}
关于JavaScript - 用两根或更多手指滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31142520/