Показать виртуальную клавиатуру на мобильных телефонах в javascript
Я создаю мобильную версию своего сайта. Там часть сайта, где открывается диалоговое окно с текстовым вводом. Обычно я просто использовал jQuery, чтобы сфокусироваться на текстовом вводе, но это не работает. Вот что я пытаюсь:
$("#textinput").focus();
$("#textinput").click();
$("#textinput").trigger("tap"); //jQuery Mobile
Никто из них, похоже, не работает. Есть идеи? Я тестировал его на своем DroidX. Я использую jQuery Mobile, но я открыт для других библиотек, если они помогают.
Ответы
Ответ 1
Вы не можете, по крайней мере, не в iOS (iPhone), и я тоже считаю Android. Это проблема юзабилити, с которой клавиатура не должна запускаться, кроме ввода пользователем (это просто раздражает, если она автоматическая).
Есть несколько способов, которыми я знаю, чтобы обойти это:
-
prompt()
открывает клавиатуру
- Если вы вызываете
.focus()
изнутри события .click()
(например, от открытия вашего диалога), клавиатура показывает
Ответ 2
$( "# TextInput" ) фокус();.
Открытие клавиатуры путем установки фокуса на элемент ввода будет работать только в том случае, если фокус установлен в "пользовательском контексте" (например, щелчок мыши, mousedown, mouseup).
Из контекста script (setTimeout, обратный вызов, возвращаемый при вызове ajax) клавиатура не будет отображаться.
Ответ 3
вы можете использовать:
$(textFiled).trigger("focus");
вы можете поместить этот код в некоторую функцию, которая будет срабатывать при открытии некоторого оверлея или когда документ будет готов.