У меня есть веб-приложение, использующее WebGL и относительно сложную систему обработчиков touchstart, touchmove и touchend в javascript. В, казалось бы, случайные моменты события касания Safari перестают срабатывать. Мне трудно диагностировать проблему. Я заметил следующее:
Когда происходит это «зависание», ни одно из событий касания не срабатывает. Кажется, не имеет значения, к какому элементу прикреплены события касания (документ, document.body, конкретный элемент). Зависание сохраняется до тех пор, пока я продолжаю прикасаться к экрану (кажется, может длиться столько, сколько захочу). Если я не прикасаюсь к экрану в течение примерно 1 секунды, все возвращается в нормальное состояние и все сенсорные элементы работают.
Во время этого «зависания», если я использую мышь, все события мыши по-прежнему срабатывают должным образом, в то время как события касания не срабатывают.
Похоже, это происходит независимо от того, нахожусь ли я в мобильном Safari, PWA или собственном приложении-оболочке с WKWebView.
Переход на события указателя не отображается устраните проблему.
Похоже, что это не происходит на Chromebook с сенсорным экраном, что предполагает, что это может быть специфично для iOS Safari.
Я нашел здесь кого-то с похожей проблемой:
События касания iOS Safari перестают срабатывать с 17.4.1
Однако их решение, похоже, не решило мою проблему.
У меня есть веб-приложение, использующее WebGL и относительно сложную систему обработчиков touchstart, touchmove и touchend в javascript. В, казалось бы, случайные моменты события касания Safari перестают срабатывать. Мне трудно диагностировать проблему. Я заметил следующее: [list] [*]Когда происходит это «зависание», ни одно из событий касания не срабатывает. Кажется, не имеет значения, к какому элементу прикреплены события касания (документ, document.body, конкретный элемент). Зависание сохраняется до тех пор, пока я продолжаю прикасаться к экрану (кажется, может длиться столько, сколько захочу). Если я не прикасаюсь к экрану в течение примерно 1 секунды, все возвращается в нормальное состояние и все сенсорные элементы работают. [*]Во время этого «зависания», если я использую мышь, все события мыши по-прежнему срабатывают должным образом, в то время как события касания не срабатывают. [*]Похоже, это происходит независимо от того, нахожусь ли я в мобильном Safari, PWA или собственном приложении-оболочке с WKWebView. [*]Переход на события указателя не отображается устраните проблему. [*]Похоже, что это не происходит на Chromebook с сенсорным экраном, что предполагает, что это может быть специфично для iOS Safari. [/list] Я нашел здесь кого-то с похожей проблемой: События касания iOS Safari перестают срабатывать с 17.4.1 Однако их решение, похоже, не решило мою проблему.