我需要跟踪用户触摸事件.我想跟踪用户从边缘滑动的时间.
例如,当用户从左侧垂直边缘滑动时,我将显示一个菜单,从右边缘发出警报,并在用户从顶部滑动时显示另一个菜单.
例如,当用户从左侧垂直边缘滑动时,我将显示一个菜单,从右边缘发出警报,并在用户从顶部滑动时显示另一个菜单.
我找不到类似的用法.
我该怎么做这个行为?跟踪从边缘滑动?
我用hammer.js尝试了这个,因为我使用jQuery,
但其他图书馆(QuoJS,TouchSwipe,Touchy等)对我来说还可以.
小提琴:http://jsfiddle.net/mavent/ym4JV/51/
$(document).hammer() .on("tap doubletap hold drag swipe pinch rotate dragup dragdown swipeup swipedown",function (event) { $('#updateArea').html(event.type + ". direction:" + event.gesture.direction + "<br>deltaX:" + event.gesture.deltaX.toFixed(2) + ". deltaY:" + event.gesture.deltaY.toFixed(2) + "<br> centerX:" + event.gesture.center.pageX.toFixed(2) + ". centerY:" + event.gesture.center.pageY.toFixed(2)); var currentText = $('#logArea').text(); $('#logArea').text(""+currentText+" . "+event.type); });
解决方法
使用Hammer.js v2.0.4,我发现这个效果最好:
$("html").hammer().on('swiperight',function (e) { var endPoint = e.gesture.pointers[0].pageX; var distance = e.gesture.distance; var origin = endPoint - distance; if (origin <= 15) { // They swiped,starting from no more than 15px away from the edge. } });