IPad Safari - заставьте клавиатуру исчезнуть

В браузере Safari iPad, когда я меняю фокус с текстового поля на раскрывающийся список, клавиатура все еще остается... Есть ли какой-то способ (может быть, с Javascript), я могу скрыть клавиатуру, когда пользователь размывается из текстового поля?

Косвенно говоря, я ищу эквивалент (но в Mobile Safari)

[tempTextField resignFirstResponder]; 

Ответ 2

У меня был iPad с iOS 5.0.1, который не скрывал клавиатуру после успешного входа на мой сайт. Я решил просто выполнить команду javascript

document.activeElement.blur();

после успешного входа в систему и теперь клавиатура правильно скрыта: -)

Ответ 3

Я знаю, что это немного более старый вопрос, но сегодня я нашел ответ на этот вопрос, и ответ был неловко прост... Я потратил больше времени, чем хотел бы признать, что понял это;)

Чтобы запретить показ клавиатуры:

<input type="text" name="someInput" />

если вы хотите сделать что-то вроде использования jQuery UI datepicker...

добавить атрибут readonly, например:

<input type="text" name="someInput" readonly="readonly" />

Если вы пытаетесь вспомнить людей с выключенным JS, вы всегда можете оставить атрибут и добавить его в свой код:

$('[name=someInput]').attr('readonly','readonly');

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

Вот jsFiddle, демонстрирующий концепцию: http://jsfiddle.net/3QLBz/5/

Ответ 4

$("#txt").on("focus", function(){
    $(this).blur();
});

работает с jquery UI datepicker на IPad

Ответ 5

Я вызываю .focus() в другое текстовое поле, и клавиатура исчезает. Я использую Sencha touch framework, текстовое поле im, ссылающееся на объект Ext.Text.

Я знаю, что это противоречит интуиции, но, похоже, для меня это работает

Ответ 6

Sample.views.MessageBar.getComponent(0).blur();
document.activeElement.blur();
window.focus();
Sample.views.sendMessageBar.getComponent(0).setDisabled(true);

Вы можете использовать коды выше. Для этого текстового поля используются строки First и Forth. Он работает на iphone, но он не работает на Android. Я попробовал Iphone 3gs и samsung galaxy s2.

Ответ 7

Версия без jQuery:

function hideKeyboard () {
    document.activeElement.blur();
    Array.prototype.forEach.call(document.querySelectorAll('input, textarea'), function(it) { 
        it.blur(); 
    });
}

Ответ 8

В соответствии с документацией Apple Safari при выборе раскрывающегося списка (выберите список) iOS отклоняет клавиатуру и отображает собственный элемент управления iOS. Убедитесь, что вы используете элемент SELECT для раскрывающегося списка

а также попробуйте добавить это к вашим метатегам для страницы

<meta name="apple-mobile-web-app-capable" content="yes" />