javascript — автоматическое отображение программной клавиатуры в мобильном браузере

Я хочу, чтобы шоу на клавиатуре

$( document ).ready(function() {
....
});

вот мой HTML-код:

<form id="typerForm">
<input id="typer" style="position:relative; left:-100em;"/>
</form>

<div id="myInput" style="border:2px solid #4AA; width:6em; height:1em; font-size:2em"></div>
<div style="height:20em; background-color:#eee">

</div>

и вот мой код JavaScript:

$('body').click(function() {
$('#typer').focus();
$('#typer').select();

});$('#typerForm').submit(function() {
//alert("submit");
setTimeout("$('#typer').focus();", 1000);
return false;
});

$('#typer').bind('keyup', function(e) {
var input = $.trim($(this).val());
// some lines of code..
$('#myInput').text(input);
//...
//$(this).val('').focus(); // clean up
});

или вы можете посмотреть мой код здесь http://jsfiddle.net/7urry794/

мой код работает, чтобы показать клавиатуру в мобильном веб-браузере, когда я щелкаю где-нибудь или нажимаю на вводимый текст. И что я хочу, это показать клавиатуру автоматически, когда страница готова или завершает загрузку

0

Решение

Вы можете использовать код ниже, чтобы открыть клавиатуру на iOS или Android
Есть несколько способов обойти это:

prompt() открывает клавиатуру

Если вы активируете .focus() изнутри .click() событие (например, от открытия вашего диалога), клавиатура появляется

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

1

Другие решения

Вы можете сделать это, позвонив focus() затем click() на входе, но только если скрипт инициируется пользовательским вводом. Все попытки заставить это работать из обработчика onload без взаимодействия с пользователем НЕ УДАЛОСЬ 🙁 Остерегайтесь бесконечных циклов, если ваш скрипт запускается с помощью onclick () на содержащем элементе. Скрипт ниже работает для меня на Chrome для Android 58 и Safari Mobile 602.1, когда вызывается из onclick ().

function onSomethingOtherThanLoad(event){
// get the input
var target = document.getElementsByTagName("input")[0];
if (event.target != target) {
target.focus();
target.click();
}
}
1

По вопросам рекламы [email protected]