我正在使用angular's
ng-swipe-left
和ng-swipe-right
来抓住滑动事件(联系)。我正在尝试在滑动过程中根据滑动速度和分数旋转图像。
问题是我只能在滑动结束时捕获事件。
答案 0 :(得分:2)
您必须收听开始事件。它被称为mousedown或touchstar。但问题是:在开始事件之后,$ swipe正在关注touchmove或mousemove事件,这些事件仍然会被忽略,直到在任一维度中移动的总距离超过一个小阈值。
超过此阈值后,将创建移动事件。
所以你必须在move事件中添加一个监听器,只有Angularjs才能使用wath。
我认为你必须像这样使用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