繁体   English   中英

使用JavaScript将字段设为.focus()时显示Android的软键盘

[英]Showing Android's soft keyboard when a field is .focus()'d using javascript

在网页中,我有一个搜索字段。 我添加了一个“清除”按钮,以便用户可以清除搜索字段并重新开始。 为方便起见,我将焦点放在搜索字段的文本框中,并且光标确实出现在框中。 但是,使用默认浏览器的android设备上似乎没有显示软键盘。 在iOS和Opera Mobile中,它的工作符合我的预期。

我是否可以调用其他方法,使键盘在Android浏览器上显示,以便用户可以立即开始输入?

function clear_search() {
    if($('#searchinput').val()) {
        $('#searchinput').val('');
    }
    $('#searchinput').focus();
}

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

无论如何,由于您已经可以使用click事件,因此应该可以解决此问题:

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

    $('#button').click(function(e) {
        $('#field').trigger('click');
    });
})     

当然,您确实需要单击事件来触发此事件。 只是集中精力而没有任何事件似乎没有用。 以上内容适用于Android 4的标准浏览器,并显示了软键盘。

click()不够的 您需要focus()然后click() 如果您的脚本是由包含元素上的onclick()触发的,请当心无限循环。 以下脚本在适用于Android 58的Chrome浏览器和Safari Mobile 602.1上对我有效。

var target = document.getElementsByTagName("input")[0];

if (event.target != target) {
    target.focus();
    target.click();
}

我不是100%肯定,但我认为无法通过javascript完成(至少直到android 2.2)。 如果您正在使用phonegap,则可以在以下位置使用它: https : //github.com/phonegap/phonegap/wiki/How-to-show-and-hide-soft-keyboard-in-Android

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM