Есть ли способ избежать отображения клавиатуры в мобильном сафари? - PullRequest
6 голосов
/ 04 октября 2010

Например, если у меня есть

<input type="text" id="myid">

и я использую ipad, когда я фокусируюсь на этом входе, ipad автоматически отображает клавиатуру.Есть ли способ избежать этого?Спасибо

Ответы [ 3 ]

12 голосов
/ 26 февраля 2011

Да, просто сделайте элемент доступным только для чтения

<input type="text" id="myid" readonly="readonly" />

Обратите внимание, что это не работает с элементом. Я считаю, что это может быть ошибка.

3 голосов
/ 16 декабря 2010

Лучшее решение, которое я нашел, это разместить невидимый div над текстовой областью.Это предотвращает получение сенсорных событий текстовой областью и предотвращает появление клавиатуры.Захватывайте события в div, и если вы хотите сделать редактируемую текстовую область, вызовите .focus () для него, и это раскроет клавиатуру.Это заставляет экран "прыгать", когда клавиатура появляется, а затем сразу исчезает.

2 голосов
/ 14 октября 2010

Не позволяйте фокусу идти на это поле.Используйте обработчик событий, чтобы предотвратить поведение по умолчанию.Обработчик событий будет выглядеть примерно так:

function onFocus(e) {
    e.preventDefault();
    // you could change the color of the field to indicate this is the active field.
}

Ваш код обработки таблицы может заполнить это поле, не обращая на него внимания браузера.

...