PinchZoom. js не работает на iOS устройствах после обновления 13.4 Apple - PullRequest
5 голосов
/ 28 мая 2020

Итак, я снова столкнулся с проблемой с этим плагином - PinchZoom. js, который начал происходить после обновления 13.4 Apple для iOS устройств.

Проблема в том, что функция двойного нажатия внезапно полностью перестала работать на iOS устройствах.

Для конкретного теста вы можете обратиться к демонстрационной странице плагина: http://manuelstofer.github.io/pinchzoom/demo/pinchzoom.html

На устройствах iOS вы не сможете дважды нажать для увеличения изображения, тогда как в предыдущих версиях iOS.

*

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

Если у кого-нибудь есть идея / обходной путь, это было бы очень полезно.

Спасибо

1 Ответ

3 голосов
/ 31 мая 2020

Раньше во всех браузерах была задержка 300–350 мс на событиях touchstart. Судя по всему, на iOS еще есть. Вы можете проверить это, зарегистрировав события касания и время в прослушивателе событий touchstart.

И для своей проблемы вы можете решить ее, изменив pinchzoom. js, чтобы использовать touchend без задержки вместо touchstart, или запретив поведение по умолчанию для touchstart.

Я выбрал последнее и добавил event.preventDefault() в прослушиватель событий touchstart. Вы тоже можете это сделать, пока разработчик не предоставит официальное решение.

el.addEventListener('touchstart', function (event) {
    event.preventDefault(); //add this

    if (target.enabled) {
        firstMove = true;
        fingers = event.touches.length;
        detectDoubleTap(event);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...