Веб-приложение для iOS: отключите автофокус на поле ввода текста - PullRequest
3 голосов
/ 09 июля 2011

У меня простой вопрос о веб-приложении для iOS.

Когда вы создаете текстовое поле ввода, пользователи нажимают на текстовое поле, мобильное сафари автоматически фокусирует поле ввода, автоматически перемещает поле ввода, выбранное пользователем, в центр экрана. Визуальная клавиатура сдвинула холст вверх или влево или в любое место, где они могут центрировать поле ввода.

Что я пытаюсь сделать, так это отключить автофокус на поле ввода, чтобы пользователи нажимали на поле ввода, холст вообще не двигался и не анимировался, холст оставался на экране как фиксированный, а визуальная клавиатура может перекрывать поля ввода. (Попытка достичь с помощью Javascript или CSS)

Ответы [ 2 ]

5 голосов
/ 03 августа 2011

У меня была такая проблема, когда веб-приложение фиксированного размера (созданное для iPad) частично прокручивалось браузером, поскольку оно пытается отцентрировать текстовое поле в представлении.

Установка 'position:fixed' на один из родительских элементов формы предотвращает это. «position:absolute» разрешает движение. В зависимости от вашего макета, установка формы 'position:fixed' может вам помочь.

position: fixed;

Редактирование: еще одна связанная вещь для обработки формы в веб-приложении iOS с фиксированным размером: когда текстовое поле активно, пользователь перетаскивает палец, возможно, можно перемещать весь фиксированный элемент по экрану (в основном прокрутите пользовательский интерфейс, который вы не собираетесь прокручивать). Если вы обнаружите, что это происходит, вы можете добавить обработчик событий touchmove к форме и предотвратить действие по умолчанию.

//jQuery:
$('#myForm').bind('touchmove', function(ev) { ev.preventDefault(); });
// Or not:
document.getElementById('myForm').addEventListener(
    "touchmove",
    function(ev) {
        ev.preventDefault();
    },
    false
);
0 голосов
/ 24 октября 2015

Самый простой способ - установить "tabindex = 0" для любого div в верхней части страницы.

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