在移动网络浏览器上自动显示软键盘

时间:2017-05-23 07:15:34

标签: javascript php jquery function keyboard

我想在

上制作软键盘
$( document ).ready(function() {
....
});

这是我的HTML代码:

<form id="typerForm">
<input id="typer" style="position:relative; left:-100em;"/>
</form>

<div id="myInput" style="border:2px solid #4AA; width:6em; height:1em; font-size:2em"></div>
<div style="height:20em; background-color:#eee">

</div>    

这是我的javascript代码:

$('body').click(function() {
    $('#typer').focus();
    $('#typer').select();

});


$('#typerForm').submit(function() {
    //alert("submit");
    setTimeout("$('#typer').focus();", 1000);
    return false;
});

$('#typer').bind('keyup', function(e) {
    var input = $.trim($(this).val());
    // some lines of code..
    $('#myInput').text(input);
    //...
    //$(this).val('').focus(); // clean up
});

或者您可以在http://jsfiddle.net/7urry794/

查看我的代码

当我点击某个地方或点击输入文字时,我的代码可以在移动网络浏览器上显示键盘。我想要的是在页面准备好或完成加载时自动显示键盘

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码在iOS或Android上打开键盘 我知道有几种方法可以解决这个问题:

this.props.navigation打开键盘

如果您从prompt()事件中触发.focus()(例如打开对话框),键盘会显示

希望它可能会有所帮助

答案 1 :(得分:1)

您可以通过在输入上调用focus()然后click()来执行此操作,但前提是脚本是由用户输入启动的。所有试图从没有用户交互的onload处理程序开始工作失败: - (如果您的脚本由包含元素上的onclick()触发,请注意无限循环。下面的脚本正在运行适用于我的Chrome for Android 58和Safari mobile 602.1,当从onclick()调用时。

function onSomethingOtherThanLoad(event){
    // get the input
    var target = document.getElementsByTagName("input")[0];
    if (event.target != target) {
        target.focus();
        target.click();
    }
}