Событие React TouchEnd не срабатывает, пока в ios Chrome / Safari не произойдет новое касание - PullRequest
0 голосов
/ 31 октября 2019

Получение искусственных событий onTouchEnd (или нормальных событий вручную) в React, похоже, не работает в iOS Safari / Chrome

Кто-нибудь знает, почему это происходит?

Песочница

В React, используя «onTouchEnd», события touchEnd не запускаются, пока я не выполню следующие действия:

  1. сенсорный экран
  2. убрать палец с экрана
  3. снова сенсорный экран
  4. оповещение о срабатывании

Что происходит в мобильном телефоне с имитацией Chrome:

  1. коснитесь любого места в div
  2. уберите палец из div
  3. срабатывает сигнал тревоги.

Это похоже на Chrome и Safari на iOS 12. IЯ еще не тестировал его на системе Android.

Дополнительная информация:

Я изначально экспериментировал с пинчем / расширением / поворотом изображения в React. Любой дополнительный код, связанный с преобразованием, касался этого.

Я попытался зарегистрировать действие с помощью vanilla js, и событие прекрасно запускается в вышеупомянутом браузере / os.

IМы также пытались запретить использование TouchCancel по умолчанию, чтобы проверить, не срабатывает ли TouchEnd. Я также вставил в него оповещения, чтобы посмотреть, сработало ли оно, но никогда не видел его.

Я также пытался вручную присоединить событие касания к рассматриваемому элементу, но даже это, похоже, не срабатывает. , хотя и запускается на iOS Chrome.

Я пробовал это сделать с помощью стандартной установки React для создания-реагирования-приложения, а не в папке с кодами, тот же результат.


Это было чистопри попытке экспериментировать, поэтому никаких особых особых обстоятельств или необходимости в чем-либо нет.

...