Фокус ввода в jQuery mobile, но клавиатура не появляется
Я использую jquery, jquery mobile и phonegap.
Я хочу показать клавиатуру на этой странице с типом ввода = "текст".
<section id="page1" data-role="page">
<header data-role="header">
<h1>jQuery Mobile</h1>
</header>
<div data-role="content" class="content">
<input type="text" placeholder="입력하세요" />
</div>
</section>
а мой script -
$(document).ready(function(){
$('input').select();
$('input').focus();
});
Текстовое поле сфокусировано, но клавиатура не отображается, и появляется при нажатии типа ввода = "текст". Как я могу заставить запускать клавиатуру в javascript или использовать плагин phonegap?
Ответы
Ответ 1
Ни один из предыдущих решений не работал у меня. Однако я заметил, что $('textarea'). Focus(). Select(); после второго доступа к странице. Таким образом, я принудительно принудительно загружаю jquery mobile на страницу предварительного просмотра данных на моем блоке с комментариями.
Это мой общий код инициализации JQM (который не работает без "предварительной выборки данных" ):
$('#comment-box-page').live('pageshow', function () {
$('textarea').focus().select();
});
На странице списка есть поддельное изображение небольшого текстового поля, которое перенаправляется на comment-box.html, что является просто большой тестовой зоной с кнопками post и cancel.
<div data-role="footer" data-position="fixed" data-theme="b" data-tap-toggle="false">
<div data-role="fieldcontain">
<a href="comment-box.html" data-prefetch><img src="fake-textfield.jpg"/>
</a>
</div>
</div>
- data-prefetch - вот что делает разницу. Когда вы нажмете ссылку, страница будет вести себя так, как это было во второй раз, когда вы ее посетили, включив фокус и подняв клавиатуру.
Ответ 2
вы не можете. мобильный браузер не отображает клавиатуру, если вы фокусируете элемент ввода. Пользователь должен нажать элемент ввода.
Ответ 3
Вы должны использовать событие "click", чтобы открыть клавиатуру:
$(document).live('click', function() {
$("#input-element-id").focus();
});
Ответ 4
Я использую это в cordova 6 для мобильного приложения Android и его работ:
-install cordova plugin keyboard: плагин cordova добавить кордову-плагин-клавиатуру
-then u можно использовать Keyboard.show(), чтобы показать клавиатуру и клавиатуру .hide(), чтобы скрыть ее
-
u может сделать это, чтобы показать клавиатуру:
$("#your_text_input").click(function () {
$(this).focus();
Keyboard.show();
});
$('#your_text_input').keydown(function(e) {
if (e.which == 13) { //Enter keycode
//your action
...
// Now clear input and set focus back to input
Keyboard.hide();
$(this).val('').trigger("keyup").focus();
}
});
Ответ 5
$("input").bind( "blur", function () {
$(".ui-header-fixed" ).css("top","0 !important");
});