Можете ли вы показать / скрыть клавиатуру iPad Safari с помощью JavaScript? - PullRequest
5 голосов
/ 15 апреля 2011

Можно ли управлять отображением, т. Е. (Показывать / скрывать) клавиатуры в iPad Safari, с помощью кода?

У меня есть 2 поля формы;1. Текстовое поле (скажем, Имя) 2. Выберите список / раскрывающийся список (Say State)

Мой вопрос: когда пользователь перемещает фокус с имени на состояние, клавиатура все еще там ... Почему это так и как можноЯ скрываю клавиатуру, когда фокус перемещается в выпадающий список?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 01 июля 2011

Я только что столкнулся с очень похожей проблемой, не уверен, что мое решение будет работать для вас.

В моем случае, у меня есть ввод текста внутри формы. При отправке я использую e.preventDefault(), чтобы остановить навигацию по странице. Я полагаю, что это также привело к прекращению действия по умолчанию скрытия клавиатуры.

Чтобы решить эту проблему, я добавил явное input.blur() при отправке формы. Казалось, этого достаточно, чтобы сафари убрал клавиатуру.

Надеюсь, это поможет!

1 голос
/ 02 июля 2013

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

<input type="hidden" id="blurInput" />

и обработчик кода JavaScript для события фокуса:

$element = $(event.target);
if($element.is('select')) {
    $('#blurInput').blur();
    $element.focus();
}

В случае, если вы хотите просто размыть поле ввода, другое решение отлично работает, но между вводом и выбором ничего не получается

document.activeElement.blur();
$('input').blur();
...