iPhone Mobile Safari: Force keyboard open
Maybe these links can help you:
http://4pcbr.com/topic/how_to_open_keyboard_on_ipad_with_js(not working anymore)
Try this
Tested on Safari iPhone 7 & iPhone 6 Plus, Android 4.4
and it opened iOS virtual keyboard successfully when I touched the button.
condition
1) make a Button to trigger keypress event => $('.btn_abc')
2) make a text input tag, and set the ID to this element => $('#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);});
Turn that button into an input field then instantly swap focus to the main input field. They keyboard will open and stay opened. Below is an example using a button like you asked, placing a transparent input field over the button the user clicks. Tested on an iPhone 4 (iOS 6/7) and an HTC Windows phone.
The input you want the user to focus on:
<input id="main" />
The button the user presses (with input field overlayed using css):
<a>Button</a><input onfocus="FocusMain()" />
Swap focus instantly:
function FocusMain(){ $("#main").focus();}