Я работаю над формой с фиксированным заголовком (для кнопок действий) и столкнулся с различным поведением в iOS (как Safari, так и Chrome). Проблема заключается в том, что ОС при каждом открытии клавиатуры открывает весь веб-просмотр, скрывая заголовок, который должен быть всегда видимым.
Испытано несколько решений 1 , 2 (часть JavaScript / jQuery) и несколько других подобных опций. Никто из них не решает это должным образом. Я не могу использовать нативную / гибридную поддержку, как упоминалось здесь .
Ниже я попробовал -
Поведение по умолчанию - Представление прокручивается вверх, скрывая заголовок
![enter image description here](https://i.stack.imgur.com/2Awup.gif)
После переопределения прокрутки - Пользовательский интерфейс переключается при каждом нажатии на ввод / текстовую область, и заголовок также иногда скрывается.
![enter image description here](https://i.stack.imgur.com/dHrKh.gif)
// tried code to override iOS push behaviour
$("body").on("focus", "input, textarea", function(event) {
event.stopPropagation(); // this can be ignored
let winScroll = window.scrollY;
window.scrollTo({
top: winScroll
});
});
Есть ли способ сохранить заголовок всегда видимым и зафиксированным сверху, а остальная часть обзора может прокручиваться, как в браузерах (не iOS)? Код для репликации этого поведения с полным просмотром страницы .