0

いくつかのタッチ処理コードが組み込まれた Web アプリを開発しました。タッチダウンすると、イベントの changedTouches への参照が保存されます。タッチアップすると、changedTouches を反復処理し、それらを touchDown イベントから格納されたタッチ オブジェクトに一致させようとし、タッチの終了を通知します。ただし、タッチ オブジェクトは 2 つのイベントで同じではないようです。つまり、タッチを一致させることはできません。このアプリは、iOS、デスクトップの Safari および Chrome でうまく機能し、タッチ イベント シミュレーションも利用できます。AndroidのChromeで問題があるようです。

例を次に示します

4

2 に答える 2

4

event.preventDefault()touchmove または touchstart イベントに適用しない限り、touches および changedTouches 配列が独自の一意の識別子を正しく維持しない Android 用 Chrome のバグがあります。

このバグは Chrome for Android の Ice Cream Sandwich と Jelly Bean に影響し、1 年以上解決されていません。したがって、最初のポスターは正しいです。これらの識別子を正しく保持するには、 touchmove または touchstart を呼び出す必要があることに注意して、 touches[i].identifierorに依存する必要があります。changedTouches[i].identifierevent.preventDefault()

http://code.google.com/p/android/issues/detail?id=19827

于 2012-10-09T20:58:06.563 に答える
3

TouchLists 内のタッチの順序が一貫しているとは限りません。代わりにに依存する必要がありますtouch.identifierタッチ イベントの仕様を参照してください。

于 2012-07-06T06:14:54.910 に答える