2012-11-01 70 views
0

當用戶在頁面元素上向左滑動並在滑動發生時運行某個函數時,是否可以捕獲?我有一些解決方案,但是如果你在頁面上向下滾動,並且你的手指在元素上稍微向左滑動,它會運行該函數。刷卡時向左輕掃?

我目前的解決方案:

function touchMove() { 
    finalCoord.x = event.targetTouches[0].pageX; 
    changeX = originalCoord.x - finalCoord.x; 
    var changeY = originalCoord.y - finalCoord.y; 
    if (changeY < threshold.y && changeY > (threshold.y * -1)) { 
     changeX = originalCoord.x - finalCoord.x; 
     if (changeX > threshold.x) { 
      $(document).off("touchmove", ".row"); 
      if ($(event.target).attr("class") === "row-inside") { 
       var element = $(event.target); 
      } 
      if ($(event.target).attr("class") === "row-l") { 
       var element = $(event.target).parent(); 
      } 
      if ($(event.target).attr("class") === "row-r") { 
       var element = $(event.target).parent(); 
      } 
      setTimeout(function() { 
       $(document).on("touchmove", ".row", function() { 
        touchMove(); 
       }); 
      }, 800); 
     } 
    } 
} 
function touchStart() { 
    originalCoord.x = event.targetTouches[0].pageX; 
    finalCoord.x = originalCoord.x; 
} 
$(document).on("touchmove", ".row", function() { 
    touchMove(); 
}); 
$(document).on("touchstart", ".row", function() { 
    touchStart(); 
}); 
} 

我想過使用jQuery移動,但swipeLeft事件僅觸發時揮動結束,而不是在。

回答