是否可以检测到触摸事件正在拖动视口?
使用以下代码,我可以获得手指触摸屏幕的位置,启动事件的节点以及拖动到的位置。这解决了其中一个问题,但我真的想检测用户何时拖动页面/窗口/视口。
试图更清楚地知道我想要做什么:我想模拟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>
答案 0 :(得分:6)
在touchmove事件中,event.targetTouches [0] .pageX和.pageY属性将为您提供触摸坐标的运行指示。您需要将原始触摸位置存储在touchstart中,更新touchmove中的当前位置,然后在touchend中,通过计算x和y轴之间的差异来确定触摸是上,下,左,右起点和终点。触摸阵列的长度将让您知道它是单指滑动还是双指捏合。
答案 1 :(得分:2)
您可能想查看Sencha Touch。它是一个支持这些事件的移动框架,因此您无需支持自己的支持。