2012-02-13 10 views
3

私はphonegapでアンドロイドアプリを構築しています。ユーザーが要素としてタッチするとタッチ移動イベントを実装しようとしています。しかし、私はまだそれを完璧にすることができませんでした。javascriptを使ってノードからタッチ移動を検出する方法。

タッチ移動イベントは完全に機能しますが、その領域に触れて指を別のタッチ領域にドラッグするとイベントが発生しません。

したがって、要点: - ユーザーがページ内の1つの要素に接触します。指を要素の範囲外に移動します。私は指が要素の外に移動したときにイベントをキャッチしたい。そして、別のタッチ領域に入ると、タッチ移動機能が再び発動するはずです。

おかげ

答えて

1

はたぶん、あなたはそれのために多くの注目を集めるためにあなたの質問にはJavaScriptタグを追加していたはずです。

私が知る限り、ブラウザはタッチイベントの「mouseout」や「mouseover」のようなイベントをサポートしていません。

私たちは自分自身のことを把握しなければなりません。私たちが(タッチイベントが発生したときに)取得するタッチオブジェクトは、タッチイベントが開始されたターゲットのみを提供するため、タッチ位置を使用してタッチしている要素を確認する必要があります。

私はそれにdocument.elementPosition(x, y)を使用しました。

タッチイベントの座標で、タッチしている要素を取得できます。

要素を残して認識するには、最後にタッチした要素を保存し、同じタッチにまだ触れている場合は新しいタッチイベントをチェックします。これが当てはまらない場合、私たちは古いものを残して、それに対処できます。

私は短いデモ(jsbin)を書きました。このデモでは何が不足しているか

Source code can be also found here.

You can try it here on your phone.が予想されるタッチ領域の外側のタッチイベントの処理です。

あなたのタスクを処理するより良い方法があるのだろうかと思います。もしそうなら、うまくいけば、誰かがそれをここに書きます。もしあなたがここにそれを追加してからあなたの質問に対する答えが見つかったのでしょうか?

関連する問題