iPad в сафари - исчезает клавиатура
в браузере iPad Safari, когда я меняю фокус с текстового поля на раскрывающийся список, клавиатура все еще остается... Есть ли способ (возможно, с помощью Javascript) я могу скрыть клавиатуру, когда пользователь размывается из текстового поля?
косвенно говоря, я ищу эквивалент (но в мобильном сафари)
[tempTextField resignFirstResponder];
9 ответов:
Я нашел решение для этого в http://uihacker.blogspot.com/2011/10/javascript-hide-ios-soft-keyboard.html. по сути, просто сделайте это (это сработало для меня):
var hideKeyboard = function() { document.activeElement.blur(); $("input").blur(); };
У меня был iPad с iOS 5.0.1 не скрывается клавиатура после успешного входа на мой сайт. Я решил просто выполнив команду JavaScript
document.activeElement.blur();
после успешного входа в систему и теперь клавиатура правильно скрытые :-)
Я знаю, что это немного более старый вопрос, но я обнаружил ответ сегодня для этого, и ответ смущающе прост... Я потратил гораздо больше времени, чем хотел бы признать, выясняя это;)
чтобы предотвратить отображение клавиатуры на:
<input type="text" name="someInput" />
для того, когда вы хотите сделать что-то вроде использования jQuery UI datepicker...
добавить только для чтения вот так:
<input type="text" name="someInput" readonly="readonly" />
Если вы пытаетесь быть внимательным к людям с JS выключен, вы всегда можете оставить атрибута и добавить его в свой код:
$('[name=someInput]').attr('readonly','readonly');
надеюсь, что это помогает.
вот jsFiddle, демонстрирующий концепцию:http://jsfiddle.net/3QLBz/5/
Я называю .сфокусируйтесь () на другом текстовом поле, и клавиатура исчезнет. Я использую структуру Sencha touch, текстовое поле, на которое ссылается im, является Ext.Текстовый объект.
Я знаю, что это противоречит интуиции, но это, кажется, работает для меня
версия без jQuery:
function hideKeyboard () { document.activeElement.blur(); Array.prototype.forEach.call(document.querySelectorAll('input, textarea'), function(it) { it.blur(); }); }
изначально, iPad, iPhone клавиатура должна исчезнуть, когда вход теряет фокус.
я понял, на мобильных/планшетных устройств, что
Safari обрабатывает только событие щелчка для элементов, имеющихcursor:pointer
собственность.я наконец-то добавил
cursor:pointer
на теге тела для мобильных / планшетных устройств, и он работает как шарм.маленький пример
body { @media screen and (max-width: 1024px) { // IPad breakpoint cursor: pointer; // Fix iPhone/iPad click issue } } }
Sample.views.MessageBar.getComponent(0).blur(); document.activeElement.blur(); window.focus(); Sample.views.sendMessageBar.getComponent(0).setDisabled(true);
вы можете использовать коды выше. Первая и четвертая строки предназначены для этого текстового поля. Он работает на iphone, но он не работает на Android. Я пробовал Iphone 3gs и samsung galaxy s2.
согласно документации Apple Safari, при выборе раскрывающегося списка (select list) iOS отклоняет клавиатуру и отображает собственный элемент управления iOS select. Убедитесь, что вы используете SELECT element для выпадающего списка
а также попробуйте добавить это в свои мета-теги для страницы
<meta name="apple-mobile-web-app-capable" content="yes" />