使用 angular ng-swipe-left 和 ng-swipe-right 在滑动过程中旋转图像

rotate image while swipe is in progress using angular ng-swipe-left and ng-swipe-right

我正在使用 angular's ng-swipe-leftng-swipe-right 来捕获滑动事件(触摸)。我试图在滑动过程中根据滑动速度和方向旋转图像。 问题是我只能在滑动结束时捕捉到事件。

您必须监听 start 事件。它在 mousedown 或 touchstar 上被调用。但是你的问题是:在 start 事件之后,$swipe 正在监视 touchmove 或 mousemove 事件 ,直到在任一维度上移动的总距离超过一个小阈值之前,这些事件仍然被忽略.

一旦超过此 阈值,就会创建移动事件。

所以你必须在移动事件上添加一个监听器,只有 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