Мы пытаемся прокрутить элемент в нашем веб-приложении для iOS, не позволяя прокручивать само окно. Мы фиксируем событие touchmove
в окне, программно прокручиваем элемент и (пытаемся) предотвратить прокрутку самого окна, вызывая preventDefault
для события.
К сожалению, в Mobile Safari это не работает. Окно продолжает прокручиваться под нашим элементом. Проблема звучит точно так же, как ошибка Webkit, описанная в https://bugs.webkit.org/show_bug.cgi?id=163207, но эта проблема предположительно была исправлена в iOS 10.3, тогда как я использую 11.3.
Захват touchforcestart
и вызов preventDefault
, похоже, предотвращают прокрутку окна, но мы вызываем это в touchstart
, что кажется «слишком поздно», поскольку окно все еще прокручивается. Прокрутка предотвращается только при следующем вызове touchstart
.
Есть идеи о том, что происходит? Мы сбиты с толку, поскольку это явно ошибка, но, похоже, некоторое время назад она была исправлена.