Showing Android's soft keyboard when a field is .focus()'d using javascript
this question is similar to How to focus an input field on Android browser through javascript or jquery
Anyway, as you already have a click event to work with, this should sort you out:
$(document).ready(function() {
$('#field').click(function(e){ $(this).focus(); });
$('#button').click(function(e) {
$('#field').trigger('click');
});
})
Of course you DO need a click event triggering this. Just focussing without an event doesnt seem to work. The above works for me on the standard browser on android 4 and shows the soft keyboard.
click()
on its own is not enough. You need to focus()
then click()
. Beware of endless loops if your script is triggered by an onclick() on a containing element. The script below is working for me on Chrome for android 58 and Safari mobile 602.1.
var target = document.getElementsByTagName("input")[0];
if (event.target != target) {
target.focus();
target.click();
}