我正在使用angular's
ng-swipe-left
andng-swipe-right
来捕捉滑动事件(联系)。我正在尝试在滑动过程中根据滑动速度和方向旋转图像。问题是我只能在滑动结束时捕捉到事件。
问问题
409 次
1 回答
2
你必须听开始事件。它在 mousedown 或 touchstar 上调用。但是您的问题是:在开始事件之后, $swipe 正在监视 touchmove 或 mousemove 事件,这些事件仍然被忽略,直到在任一维度上移动的总距离超过一个小阈值。
一旦超过此阈值,就会创建移动事件。
所以你必须在 move 事件上添加一个监听器,只有 Angularjs 是不可能的。
我认为你必须像这样在 JQuery 中使用一些东西:
$('#someElm').bind('touchmove',function(e){
e.preventDefault();
var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
var elm = $(this).offset();
var x = touch.pageX - elm.left;
var y = touch.pageY - elm.top;
if(x < $(this).width() && x > 0){
if(y < $(this).height() && y > 0){
//CODE GOES HERE
console.log(touch.pageY+' '+touch.pageX);
}
}
});
关于这个问题的 Angular 文档:AngularJS API:$swipe
于 2015-10-14T14:58:52.833 回答