适用于移动浏览器的iPhone / Android刷卡检测

时间:2010-06-30 15:27:55

标签: javascript iphone android html5 swipe

是否可以检测到触摸事件正在拖动视口?

使用以下代码,我可以获得手指触摸屏幕的位置,启动事件的节点以及拖动到的位置。这解决了其中一个问题,但我真的想检测用户何时拖动页面/窗口/视口。

试图更清楚地知道我想要做什么:我想模拟Tweetie 2 / Twitter for iPhone中的刷新活动,但是在HTML5和JavaScript中。

<script> 
window.ontouchmove = function(e){
  if(e.touches.length == 1){ // Only deal with one finger
    var touch = e.touches[0]; // Get the information for finger #1
    var node = touch.target; // Find the node the drag started from
    $("p:last").html(
        "clienty: " + touch.clientY + "<br/>" +
        "screenY: " + touch.screenY + "<br/>" +
        "pageY: "   + touch.pageY
        );
  }
}
</script> 

2 个答案:

答案 0 :(得分:6)

在touchmove事件中,event.targetTouches [0] .pageX和.pageY属性将为您提供触摸坐标的运行指示。您需要将原始触摸位置存储在touchstart中,更新touchmove中的当前位置,然后在touchend中,通过计算x和y轴之间的差异来确定触摸是上,下,左,右起点和终点。触摸阵列的长度将让您知道它是单指滑动还是双指捏合。

答案 1 :(得分:2)

您可能想查看Sencha Touch。它是一个支持这些事件的移动框架,因此您无需支持自己的支持。