2013-12-14 2 views
6

Я хочу скрыть клавиатуру на Focus(), но когда $(".ui-input-text").focus(); автоматически откроет клавиатуру.Как скрыть клавиатуру в jquery mobile программно на фокусе()

Я просто хочу скрыть в определенном экране, у меня есть тест с document.activeElement.blur(); , но он также не фокусировался() на входе.

+1

Это кажется порочным. Вы хотите сфокусировать поле ввода пользователя, но отключите метод ввода? Зачем? –

+3

У меня есть пользовательская клавиатура на экране – user1374

ответ

11

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

Простое решение для этого может быть реализовано путем вызова метода размытия на document.activeElement, которая эффективно позволяет программно скрыть клавиатуру:

// automatically close the keyboard on iOS 
document.activeElement.blur(); 

Подробнее о HTML5 и мобильных приложений событий ..

http://www.ericfeminella.com/blog/2012/12/27/ios-html5-input-element-tips/

1

Попробуйте это:

$('#yourElement').blur(); 

Он спрячет виртуальную клавиатуру.

+0

Я использовал этот, но когда я его использую, также не фокус() на входе – user1374

1

От here

var hideKeyboard = function() { 
    document.activeElement.blur(); 
    $("input").blur(); 
}; 

Отредактировано: другой вариант

$('.clr').after(' 
     //<input tyep="checkbox" 
     <input type="checkbox" 
       id="focusable" 
       style="height:0; 
       margin- left:-200px; 
       clear:both;" />'); 
$('#focusable').focus(); ` 
+0

, но проблема заключалась в том, что когда я добавляю этот код, он также потеряет фокус с входа – user1374

+0

@ Gamex вы можете оценить снова сфокусируйтесь, как показано в другом варианте. – SilentKiller

Смежные вопросы