Frage

Ich entwickle eine Web -Spiele -Anwendung mit einer HTML5 -Leinwand, die auf "Klicken" -Ereignisse reagieren muss (in der allgemeinen Bedeutung).

Auf einer mobilen Plattform (oder Touch-capable) bedeutet dies, auf einer Desktop-/Laptop-Plattform (mit einer Maus oder einem Pad) auf Ontouchdown zu reagieren, dh reagieren auf OnmouseDown.

Das Problem ist, wenn ich beide Ereignisse behandle, führt das gleiche "Klick" dazu, dass beide Ereignisse abgefeuert werden, sodass ich eine doppelte Signalisierung erhalte.

Was wäre der beste Weg, um damit umzugehen?

Derzeit schalte ich nach dem ersten Touch -Ereignis, das ich erhalte, Mausereignisse aus, aber das ist möglicherweise etwas schwer, wenn die Plattform sowohl Touch- als auch Mausklicks unterstützt (FI -An -Android -Tablet mit angeschlossener Tastatur/Pad/Maus)

Messung der Verzögerung zwischen Touch und Klick, um einen Klick nach einer Berührung zu ignorieren Eine zu kurze Verzögerung lässt gelegentlich doppelte Signale durch.

Ich habe die Erkennung von Benutzer-Agent angesehen, aber das scheint ziemlich zerbrechlich (viele Benutzeragenten da draußen) und löst nicht die Fälle, in denen die Plattform sowohl Berührung als auch Maus/Pad hat.

War es hilfreich?

Lösung

Vielleicht eine Kombination Ihres Vorschlags:

Messung der Verzögerung zwischen Touch und Klick, um einen Klick nach einer Berührung zu ignorieren Eine zu kurze Verzögerung lässt gelegentlich doppelte Signalübertragung durch

Und das Erkennen der x, y -Koordinaten des Fahns würde die falsch positiven Ergebnisse verringern. Wenn beide Ereignisse (Tap & Click) in der Sequenz die gleichen Koordinaten erhalten haben, werden sie als gleich behandelt.

Oder lassen Sie den Benutzer (über einen Bildschirm "Optionen) wechseln, wenn er Maus oder Berührung für sein Gerät verwenden möchte, wenn beide unterstützt werden. Zeigen Sie zum Beispiel eine Warnmeldung an you're on a touch device so we enabled touch events, if you're using a mouse please see options oder sowas ähnliches.

Die meisten Benutzer wären mit der automatischen Wahl zufrieden und jeder unglücklich kann es ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top