2

ビューポートがタッチ イベントによってドラッグされていることを検出することは可能ですか?

次のコードを使用すると、指が画面に触れた位置、イベントを開始したノード、およびドラッグされた場所を取得できます。これで問題の1つが解決しますが、ユーザーがページ/ウィンドウ/ビューポートを下にドラッグしたことを本当に検出したいと思います.

私がやろうとしていることをより明確にするために、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> 
4

2 に答える 2

6

touchmove イベントでは、event.targetTouches[0].pageX および .pageY プロパティがタッチ座標の実行中の指標を提供します。touchstart で元のタッチ位置を保存し、touchmove で現在の位置を更新する必要があります。次に touchend で、x 軸と y 軸の差を計算して、タッチが上、下、左、右のどちらであったかを判断します。開始場所と終了場所。touches 配列の長さによって、1 本指でのスワイプか 2 本指でのピンチかがわかります。

于 2010-08-11T07:29:56.380 に答える
2

Sencha Touchをチェックしてみてください。これらのイベントをサポートするのはモバイル フレームワークであるため、独自のサポートを展開する必要はありません。

于 2010-06-30T15:44:11.050 に答える