問題タブ [touchmove]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4792 参照

jquery - jquery touchmove chrome mobile

touchmove中に指の下の要素のIDを取得するにはどうすればよいですか?

私が達成したいのは:

  • バインドタッチ[開始|終了|移動]
  • タッチスタート開始選択時
  • touchmove中に、指の下で「触れられた」すべてのdom要素を収集します

サンプルコード

解決しました。

0 投票する
2 に答える
37880 参照

javascript - touchmoveとmousemoveをいつ使用するのですか?

私はウェブモバイルゲームを作成しました。それはブラウザ(PC /モバイル)で実行されます。

使用する必要がありtouchmoveますか?

touchmoveイベントのようにイベントを実行するにはどうすればよいmousemoveですか?

0 投票する
3 に答える
23873 参照

javascript - JavaScript は body 要素でのタッチ移動を防止し、他の要素で有効にします

しかし、非常に簡単に言えば、ボディ要素の touchmove イベントを防ぎたいのですが、別の要素に対しては有効にしたままにします。うまく無効にできます...しかし、別の場所で再度有効にする方法がわかりません!

以下return trueは の反対であるため、理論的には機能すると思いますpreventDefaultが、私には機能しません。$altNav要素が入っ $bodいるからでしょうか?

JS:

0 投票する
0 に答える
248 参照

javascript - 最後の touchmove イベントを現在処理中であることを確認するにはどうすればよいですか?

このトピックで判断したように、touchmoveイベントは、触れた要素の組み合わせによってはバッチで送信される可能性があります。

3 本の指がそれぞれ異なる要素に触れているが、3 本の指すべての動きを一緒に処理できるようにしたい場合 (たとえば、これら 3 つの要素の共通の親で相互作用を定義する場合)、基本的に統合する必要があります。touchmoveデバイス入力サンプルごとに 3 つのイベントの「塊」で発行される可能性が高いタッチ イベントからのデータ。

簡単な回避策は、「1 つの大きなカバー要素を作成」して通常の方法で処理することですが、複雑な DOM 構造に対する複雑な操作を展開しやすいコードでラップするという聖杯を追求するつもりです。

touchesそのため、 last-inbound 内のリストからデータを使用するか、それぞれtouchmoveの内容を収集したいことは明らかです。私は現在、タッチの識別子を追跡するルーチンを作成しており、1 つが繰り返されると、その時点で次のグループの最初のもの (次の入力ティック)を見ていることがわかります。changedTouchestouchmovetouchmove

入力の処理に最大 16 ミリ秒の遅延を導入したため、これは明らかに最適ではありません。

私はうまくいく何かを思いつきました:イベントがタッチの順序で送信される場合、作成された最大番号に対応するタッチで終わるリストをidentifiers処理しているとき(そして私はこれをから知っています)イベント) 、ハードウェアから現在のタイムステップのこれまでのすべての情報を受け取ったことを示すのに十分です。changedTouchesidentifiertouchstarttouchmoves

更新: 私が実装したのは、指の1 つを追跡する変数であり、その指が で検出されると、 内のtouchmove changedTouchesすべての値を処理するループを実行しますtouches。これでは正しい情報を提供できません。チェックしたワンタッチが動かない場合があり、その場合はノーchangedTouchesとなります。

他に何ができますか?

0 投票する
1 に答える
7390 参照

javascript - touchmoveイベントがjquery/javascriptを使用してバックグラウンドを移動するのを防ぐ方法は?

現在、iPadSafariのウェブサイトを開発しています

使用しました

コンテンツをドラッグするときに背景が移動しないようにします。問題は、いくつかの要素をドラッグできるようにするときです

要素をドラッグすると、背景もドラッグされます。この問題を解決するにはどうすればよいですか?私はこの問題がtapholdによって引き起こされるかもしれないことを観察します、ありがとう。

0 投票する
1 に答える
2852 参照

javascript - jquery UIダイアログのスクロールとのtouchmoveイベントの競合を防ぐ

safari などのモバイル デバイスのブラウザーでは、ユーザーが画面をドラッグすると、Web サイト全体が指に沿って移動します。したがって、一般的な解決策は次のとおりです。

これにより、 touchmove イベントが防止されます。ただし、モバイル デバイスのブラウザにはスクロール バーがないため、ユーザーが jquery ui のダイアログ ボックスをスクロールしたい場合は、 touchmove イベントを許可する必要があります。このステートメントは、そのイベントをブロックします。

次に、このステートメントを追加して、ダイアログ ボックスをスクロールできるようにします。ただし、このソリューションには問題があります。背景がドラッグ可能になり、ユーザーの指で再び移動するためです。この問題を解決するにはどうすればよいですか? ありがとう。

0 投票する
2 に答える
43758 参照

jquery - jQuery: touchmove によるタッチの無効化と有効化

このコードを使用して、タッチを無効および有効にします。

タッチを無効にする機能は正常に機能しますが、ボタンをクリックした後はタッチを有効にできません。

コードで何が間違っていますか?

0 投票する
1 に答える
1170 参照

javascript - touchmoveでipad/iphoneカルーセルが期待どおりに機能しない

私は、ipad/iphoneを除くすべてのブラウザとすべてのデバイスで問題なく動作するカルーセルを持っています。カルーセルをスワイプすると、jqueriesを使用してイージングし、数回バウンドしてから停止します。他のすべてのブラウザと同様に、動作させる唯一の方法は、スワイプ後にアラートメッセージをポップアップ表示することです。そうすれば、完全に機能します。

[コード]

}); [/コード]

moveLeft関数とmoveRight関数は、カルーセルの左右の矢印で使用されるため、これらが機能することはわかっていますが、onclickイベントの場合のみです。

[コード]

[/コード]

なぜこのコードはonclickにはうまく機能するのに、touchmoveにはうまく機能しないのでしょうか。

touchstart、touchend、touchmoveのバインドを組み合わせようとしました-nadatouchmovemousemoveを使用しようとしました-diddlesquat最後のイベントを待たなければならないと思ってsetTimeoutを使用しようとしました-何もありません

助けてください、これは私を狂わせています。

0 投票する
2 に答える
14356 参照

javascript - PhoneGap を使用した Android および iPhone での「touchmove」イベント

基本的に、iOSまたはAndroidを搭載したタッチ対応デバイスの画面を誰かがスワイプしたときに、タッチの座標を取得できるようにしたいと考えています。

私がこれまでにやろうとしたことは次のとおりです。

さらに、「vmousemove」(jqueryモバイルと同等またはそうあるべき)、「mousemove」でも同じことを試しましたが、役に立ちませんでした。最初と最後のタッチの座標のみを取得します。

前もって感謝します

0 投票する
1 に答える
249 参照

iphone - JavaScriptを使用してプログラムでiPhoneズームを制御する

iPhoneの画面で指の動きを追っていきたいです。ただし、これによりラバー バンディングとスクロールが発生するため、デフォルトの動作をオフにする必要があります。

このサイトで説明されているように

https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

次のように、イベントリスナーを追加しました

そのように、デフォルトの動作を無効にしました

これで、意図したとおりに実行できますが、ページを拡大縮小することはできなくなりました。touchstart 座標を取得し、gesturechange からズーム倍率を取得することはできます。論理的には、それらを使用してページのズームをプログラムで変更したいと思います。JavaScriptでそれを行う方法は?