2

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

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

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

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

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

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

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

他に何ができますか?

4

0 に答える 0