touchend library hammer eventos changedtouches javascript webkit touch

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á en changedTouches ya que es lo que causó el evento
  • Quitar mi último dedo dejará los touches y targetTouches vacíos, y changedTouches 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?