Подтвердить что ты не робот

Изменение e.touches, e.targetTouches и e.changedTouch

Скажем, я слушаю touchstart, touchmove и touchend в элементе body.

Сообщите мне, если я ошибаюсь, но я думаю, что e.touches совпадает с e.targetTouches? Если да, то как e.changedTouches меняется по отношению к ним?

Я имею в виду, что при одном касании в один данный момент я приношу прикосновение и разбираю его. По моему опыту все три сенсорные переменные одинаковы.

Мне нужно отправить анализируемые данные на сервер, и он достаточно избыточен, чтобы отправить три раза одну и ту же точную строку, разве нет способа отправить их один раз и программно воспроизвести touchhevent на сервере?

4b9b3361

Ответ 1

Имеются следующие списки:

  • touches: список информации для каждого пальца, касающегося в данный момент экрана
  • targetTouches: Подобно касаниям, но фильтруется только для информации о касаниях пальцев, которая начиналась в том же node
  • changedTouches: список информации для каждого пальца, участвующего в событии (см. ниже) Чтобы лучше понять, что может быть в этих списках, быстро переходим к некоторым примерам.

Они различаются по следующей схеме:

  • Когда я помещаю палец вниз, все три списка будут иметь одинаковую информацию. Он будет в changedTouches, потому что поместить палец вниз - это то, что вызвало событие
  • Когда я надену второй палец вниз, touches будет иметь два элемента, по одному для каждого пальца. targetTouches будет иметь два элемента, только если палец был помещен в тот же самый node в качестве первого пальца. changedTouches будет иметь информацию, относящуюся ко второму пальцу, потому что его то, что вызвало событие
  • Если я поставил два пальца точно в одно и то же время, его можно было бы иметь два элемента в changedTouches, по одному для каждого пальца
  • Если я переведу пальцы, единственный список, который изменится, будет changedTouches и будет содержать информацию, связанную с таким количеством пальцев, которое было перемещено (по крайней мере одно).
  • Когда я поднимаю палец, он будет удален из touches, targetTouches и появится в changedTouches, так как это вызвало событие
  • Удаление моего последнего палец оставляет touches и targetTouches пустым, а changedTouches будет содержать информацию для последнего пальца