hammer - touch events javascript library
VariaciĆ³n de e.touches, e.targetTouches y e.changedTouches (1)
Tenemos las siguientes listas:
-
touches
: una lista de información para cada dedo que toca actualmente la pantalla -
targetTouches
: como toques, pero se filtra solo para la información de toques con los dedos que comenzaron dentro del mismo nodo -
changedTouches
: una lista de información para cada dedo involucrado en el evento
Para entender mejor lo que podría haber en estas listas, repasemos algunos ejemplos rápidamente. Varían de acuerdo a las siguientes reglas:
- Cuando pongo un dedo hacia abajo, las tres listas tendrán la misma información. Estará en
changedTouches
porque colocar el dedo hacia abajo es lo que causó el evento - Cuando pongo un segundo dedo hacia abajo, los
touches
tendrán dos elementos, uno para cada dedo.targetTouches
tendrá dos elementos solo si el dedo se colocó en el mismo nodo que el primer dedo.changedTouches
tendrá la información relacionada con el segundo dedo, porque es lo que causó el evento - Si puse dos dedos hacia abajo exactamente al mismo tiempo, es posible tener dos elementos en
changedTouches
, uno para cada dedo. - Si muevo mis dedos, la única lista que cambiará se cambia,
changedTouches
y contendrá información relacionada con tantos dedos como se hayan movido (al menos uno). - Cuando levanto un dedo, se eliminará de los
touches
,targetTouches
y aparecerá enchangedTouches
ya que es lo que causó el evento - Quitar mi último dedo dejará los
touches
ytargetTouches
vacíos, ychangedTouches
contendrán información para el último dedo
Digamos que estoy escuchando un touchstart
de touchstart
, un touchmove
y un touchend
en el elemento del body
.
Avísame si estoy equivocado, pero creo que e.touches
es lo mismo que e.targetTouches
? Si es así, ¿cómo varía e.changedTouches
en relación con ellos?
Quiero decir, dado un toque en un momento dado, cojo el dispositivo de toque y lo analizo. En mi experiencia, las tres variables táctiles son las mismas.
Tengo que enviar los datos analizados al servidor y es bastante redundante enviar tres veces la misma cadena exacta, ¿no hay alguna forma de enviarlos una vez y reproducir programáticamente el evento táctil en el servidor?