タッチイベントを使用してJavascriptでスワイプからのクリックを区別しようとしています。私は知っている、タッチイベントオブジェクトのプロパティは、 'touchend'イベントの違いを判断するために検査することができますか、またはタッチスタートまたはタッチとタッチモーブイベントの両方を聞く必要がありますか?私はDOMに追加する必要があるイベントリスナーの数を最小限に抑えようとしており、単一のイベントを観察してこれを行うことが可能かどうか疑問に思っていますか?具体的には、iOS上でWebkitを見ています。Javascript Touch Object
0
A
答えて
2
クリックイベントにまったくバインドしないでください。これは、タッチイベントの収集よりもはるかに遅く応答します。
スワイプを確認するには、タッチスタートとトゥーチンドイベントを待ち受ける必要があります。そのイベントが発生したときに何かをする予定がない限り、touchmoveについて心配しないでください。
タッチスタートイベントでは、イベントのx/y位置を記録する必要があります。 touchendイベントで、同じことをやり直してください。あなたが必要とするのはある種の閾値なので、x1-x2とy1-y2の差を計算すると、それがスワイプかどうかを判断できます。
アップルはここでtouchmoveに関連するメタアルゴリズムを提供しますhttp://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html。そのページで「スワイプを特定」を検索すると、そのスワイプを見つけることができます。
私は個人的にtouchmoveを使用する必要はなく、私が上記の技術をうまく使っています。しかしどちらかが有効なアプローチなので、最も効果的なものを調査する必要があります。
関連する問題
- 1. エラー:Javascriptの[object Object]
- 2. Javascript On Click or Touch
- 3. と[object HTMLInputElement] javascript
- 4. javascript object sub children
- 5. "Object Expected" Javascript Error
- 6. Javascript Object Access
- 7. javascript json [object text]
- 8. javascript this object
- 9. Javascript Object Prototype
- 10. Javascriptエラーメッセージ - "Object required"
- 11. Javascript IE7:Object Expected
- 12. javascript object ajax beginform mvc
- 13. sencha touch 2のjavascript on( "load")
- 14. Javascriptを:2つのObject /アレイ
- 15. SharePoint userProfileProperties JSOM(JavaScript Object Model)
- 16. UIButton touch on touch
- 17. iPad - UIImageView touch to touch
- 18. javascript time "object"の呼び出し
- 19. Array Like Object対JavaScriptの2D配列
- 20. javascript regex object対インライン正規表現
- 21. [object HTMLInputElement]を表示する - JavaScript
- 22. javascriptでは、なぜ{}!== Object()ですか?
- 23. Javascript Object arrayで検索するには?
- 24. 2 Javascript Image-Objectに関する質問
- 25. Android Gallery Image on touch to touch
- 26. Sencha Touch 2対DHTMLX Touch
- 27. Sencha Touch - First Touchのスクロールディレイ
- 28. Javascript Alexa関数は、ユーザ入力時に[object object]を返します。
- 29. Javascriptエラー、Uncaught TypeErrorオブジェクト 'object object'の '$'が関数ではありません
- 30. sencha touch/phonegap - database
ご回答ありがとうございます。私はこれをコード化しました。ちょうどあなたが提案したようにtouchstartとtouchendを使って、そしてリスナーをDOMの上位に適用して、ページレベルでの各イベントの1つのために「クリック」できる個々のコンポーネントごとにイベントを追加しません。 – Purpletoucan