Ответ 1
Возможно, эти ссылки могут вам помочь:
-
http://4pcbr.com/topic/how_to_open_keyboard_on_ipad_with_js(больше не работает)
Это приложение iPad/CSS/JS (jQuery) для iPad. У меня есть кнопка, которая сворачивает входную форму. Я хотел бы сфокусировать пользователя на входе, а затем запустить клавиатуру.
Это то, с чем я работаю, но не работает:
$('#myFormField').focus();
Это действительно фокусирует вход, но не запускает клавиатуру. Это просто невозможно (по соображениям безопасности или что-то еще)?
Есть ли способ заставить или имитировать пользователя, который нажимает на вход (или что-то в этом роде)?
Спасибо!
Возможно, эти ссылки могут вам помочь:
http://4pcbr.com/topic/how_to_open_keyboard_on_ipad_with_js (больше не работает)
Поверните эту кнопку в поле ввода, а затем мгновенно замените фокус на основное поле ввода. Они откроют клавиатуру и останутся открытыми. Ниже приведен пример с помощью кнопки, как вы просили, поместив прозрачное поле ввода над кнопкой, которую пользователь нажимает. Протестировано на iPhone 4 (iOS 6/7) и телефоне HTC Windows.
Вход, на который вы хотите, чтобы пользователь сосредоточился:
<input id="main" />
Кнопка, нажимаемая пользователем (с полем ввода, наложенным с помощью css):
<a>Button</a><input onfocus="FocusMain()" />
Сменить фокус моментально:
function FocusMain()
{
$("#main").focus();
}
Протестировано на Safari iPhone 7 и iPhone 6 Plus, Android 4.4
и он успешно открыл виртуальную клавиатуру iOS, когда я коснулся кнопки.
1) сделайте кнопку для запуска события нажатия клавиши = > $('.btn_abc')
2) введите тег ввода текста и установите идентификатор этого элемента = > $('#search_input')
$( document ).ready(function() {
var focusTextField = function(){
console.log("focusElement");
};
var onKeypressHandler = function(){
console.log("* * * keypress event handler")
$('#search_input').blur().focus();
};
var onClickHandler = function() {
$('.btn_abc').trigger('keypress');
};
$('#search_input').bind('focus', focusTextField);
$('.btn_abc').bind('click', onClickHandler);
$('.btn_abc').bind('keypress', onKeypressHandler);
});
Try:
$('#element').blur().focus();
или если это не работает:
$('#element').focus().blur().focus();
blur() устраняет фокус и фокус() возвращает его. По какой-то причине он работает каждый раз по сравнению с focus(), работающим один раз в свое время.
Это должно делать то, что вы хотите:
$("#element").focus().click();