当字段是.focus()时使用javascript显示Android的软键盘

new*_*000 10 javascript jquery html5 android android-softkeyboard

在网页中,我有一个搜索字段.我添加了一个"清除"按钮,以便用户可以清除搜索字段并重新开始.为方便起见,我将焦点放在搜索字段的文本框中,光标确实出现在框中.然而,软键盘似乎没有出现在使用默认浏览器的Android设备上.在iOS和Opera Mobile中,它可以像我期望的那样工作.

是否有一种我可以调用的方法可以让键盘显示在Android的浏览器上,以便用户可以立即开始输入?

function clear_search() {
    if($('#searchinput').val()) {
        $('#searchinput').val('');
    }
    $('#searchinput').focus();
}
Run Code Online (Sandbox Code Playgroud)

use*_*504 5

这个问题类似于 如何通过javascript或jquery将输入字段集中在Android浏览器上

无论如何,因为你已经有一个单击事件可以使用,这应该排除你:

$(document).ready(function() {
    $('#field').click(function(e){ $(this).focus(); });

    $('#button').click(function(e) {
        $('#field').trigger('click');
    });
})     
Run Code Online (Sandbox Code Playgroud)

当然,你需要一个触发此事件的点击事件.只是在没有事件的情况下聚焦似乎不起作用.以上适用于我在android 4上的标准浏览器,并显示软键盘.

  • 这也适用于touchstart + touchend事件.非常漂亮,因为你可以在touchstart上添加一个元素并触发对touchend的关注.只记得使用event.stopPropagation(); 和event.preventDefault(); 否则有时键盘将开始显示然后再次隐藏(取决于触发事件的元素下方的内容). (3认同)

Dan*_*rka 1

我不是 100% 确定,但我认为它不能从 javascript 完成(至少在 android 2.2 之前)。如果您使用的是phonegap,您可以在此处使用:https://github.com/phonegap/phonegap/wiki/How-to-show-and-hide-soft-keyboard-in-Android