Variation de E. touches, e. targetTouches et E. changedTouches
Disons que j'écoute touchstart
, touchmove
et touchend
sur l'élément body
.
Laissez-moi savoir si je me trompe, mais je pense que e.touches
est le même que e.targetTouches
? Si oui, comment e.changedTouches
varie en relation avec eux?
Je veux dire, étant donné une touche à un moment donné, je récupère le touchevent et l'analyse. Dans mon expérience, les trois variables tactiles sont les mêmes.
Je dois envoyer les données analysées au serveur et il est assez redondant d'envoyer trois fois la même chaîne exacte, n'y en a-t-il pas façon de les envoyer une fois et de reproduire par programme le touchevent sur le serveur?
1 réponses
Nous avons les listes suivantes:
-
touches
: une liste d'informations pour chaque doigt touchant actuellement l'écran -
targetTouches
: comme les touches, mais est filtré uniquement aux informations pour les touches de doigt qui ont commencé dans le même nœud -
changedTouches
: Une liste d'informations pour chaque doigt impliqués dans l'événement
Pour mieux comprendre ce qui pourrait être dans ces listes, passons en revue quelques exemples rapidement. Ils varient selon les règles suivantes:
- Quand je pose un doigt vers le bas, les trois listes auront les mêmes informations. Ce sera dans
changedTouches
parce que mettre le doigt vers le bas est ce qui a causé l'événement - Quand je mets un deuxième doigt vers le bas, {[0] } aura deux éléments, un pour chaque doigt.
targetTouches
disposera de deux éléments seulement si le doigt a été placé dans le même nœud que le premier doigt.changedTouches
aura les informations relatives au deuxième doigt, car c'est ce qui a causé l'événement - Si je mets deux doigts vers le bas à exactement au même moment, il est possible d'avoir deux éléments dans
changedTouches
, un pour chaque doigt - Si je bouge mes doigts, la seule liste qui changera est
changedTouches
et contiendra des informations relatives au nombre de doigts qui ont bougé (au moins un). - Quand je lève un doigt, il sera retiré de
touches
,targetTouches
et apparaîtra danschangedTouches
puisque c'est ce qui a causé l'événement - enlever mon dernier doigt laissera
touches
ettargetTouches
vides, etchangedTouches
contiendra des informations pour le dernier doigt