我正在进行iphone web开发,我注意到:手势事件也可以是触摸事件,这意味着触摸事件处理程序也会在有手势事件时触发。
任何方式我都可以添加特定的事件处理程序到手势(而不是触摸)?或者我怎么知道这是纯触摸事件还是纯手势事件?
答案 0 :(得分:0)
我不确定具体内容,但看起来手势中有3个事件被触发。
-touchstart
-touchmove
-touchend
最终你的触控端会发射。您可以做的是在星标和结尾之间创建一个阈值金额。如果(x,y)差异超过一定数量,则触发自定义事件。
答案 1 :(得分:0)
修改:这是您原始版本的答案,询问某些内容是否属于“纯触摸事件”。它无法帮助您解决有关获取纯手势事件的更改问题。
侦听手势事件,并在触摸事件期间检查一个gesturing
布尔值,该事件由手势事件的事件处理程序设置为true
,并由...设置回false
触摸事件的事件处理程序,如果它是true
。
我还没有对这些事件进行过研究,但这是一个示例实现:
var gesturing = false;
document.addEventListener(aTouchEventName, function () {
if (gesturing) {
return gesturing = false;
}
// your touch event handler code here
}, false);
document.addEventListener(aGestureEventName, function () {
gesturing = true;
}, false);