2017-03-27 6 views
0

mousedownmousemove、その他のタッチイベントを使用していますが、いずれも問題を解決していないようです。キャンバスでドラッグするJavaScript

私の目標は、ユーザーの指やマウスに続くオブジェクトを取得しようとすることです。私はmousemoveを使ってみましたが、それは働いていましたが、コンピュータ上でのみでした。モバイルデバイスでは、失敗しました。タップの開始後にのみ、何もありません。

私は、コンピュータ上でマウスをクリックしてドラッグした場合、コンピュータがドラッグとして認識するため、この問題が発生する可能性があると考えます。モバイルでは、ドラッグはタップで完了していない可能性があります。

何を使用するか、または問題は何ですか?

ありがとうございます!

はここで、タッチスクリーン入力のためのいくつかのサンプルコード

document.addEventListener("mousemove", function(e){ 
    var x = e.pageX; 
    var y = e.pageY; 
}); 
+0

用ポリフィルがあります。 – Feathercrown

+0

@Feathercrown私はモバイルデバイス上にあるので、コードはフォーマットされていないように見えますが、それはそれのジストです。私はその記事を編集した。 –

答えて

1

だ、あなたはtouch-event API使用する必要があります。新しいpointer eventのAPIを試してみることができるかどう これらのAPIは、

  • touchstart
  • touchend
  • touchcancel
  • touchmoveまた

が含まれています。
これで、マウスのイベントを使用する場合と同様のコードを書くことができます。例えば

  • マウスダウン> pointerdown
  • のmouseup> pointerup
  • のMouseMove> pointermove

この仕様は、もはや必要とオーサリング別の実装を行う、マウス、タッチスクリーン、及びペンからの各種入力を統合クロスデバイスポインタの方が簡単です。無関係な "ポインタイベント" CSSプロパティと誤解されることはありません。 - caniuse

しかしまだ他のブラウザでは十分サポートされていません。幸いpointer's browsers compatibility

を参照してください、私達は助けるためにあなたのコードを参照する必要があることをhttps://github.com/jquery/PEP

関連する問題