Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery检测键盘按下,然后聚焦到文本框_Javascript_Jquery - Fatal编程技术网

Javascript jQuery检测键盘按下,然后聚焦到文本框

Javascript jQuery检测键盘按下,然后聚焦到文本框,javascript,jquery,Javascript,Jquery,我有jQuery函数,可以检测键盘上的某个键是否被按下。到目前为止,这是有效的,例如,如果我按下“P”,它将聚焦到文本框 $(document).keyup(function(e) { if (e.keyCode == 51 || e.keyCode == 52 || e.keyCode == 80 || e.keyCode == 65) { $("#code_read_box").focus(); } }); <input type="text" id="code_read_b

我有jQuery函数,可以检测键盘上的某个键是否被按下。到目前为止,这是有效的,例如,如果我按下“P”,它将聚焦到文本框

$(document).keyup(function(e)
{
if (e.keyCode == 51 || e.keyCode == 52 || e.keyCode == 80 || e.keyCode == 65)
{
    $("#code_read_box").focus();
}
});
<input type="text" id="code_read_box" value=""/>
现在我想当我按下“p”时,“p”也会设置为文本框

$(document).keyup(function(e)
{
if (e.keyCode == 51 || e.keyCode == 52 || e.keyCode == 80 || e.keyCode == 65)
{
    $("#code_read_box").focus();
}
});
<input type="text" id="code_read_box" value=""/>

有什么建议吗

已解决

$(document).keyup(function(e) {
    var key = String.fromCharCode(e.keyCode);

    if (key.match(/[34PA]/) && !$('input').is(':focus')) {
        $('input').focus();
        $('input').val($('input').val() + key);
    }
});

使用
字符串。fromCharCode

String.fromCharCode(e.keyCode)
演示:

您的代码:

$(document).keyup(function(e) {
  if (e.keyCode == 51 || e.keyCode == 52 || e.keyCode == 80 || e.keyCode == 65) {
    $("#code_read_box").focus();
    $("#code_read_box").val(String.fromCharCode(e.keyCode));
  }
});
如果要附加值,请执行以下操作:

$("#code_read_box").val($("#code_read_box").val() + String.fromCharCode(e.keyCode));

好的,试过了,成功了。但是为什么当我按两次A时,它会返回到只有1A?在你的评论之后编辑,现在当输入A时,它会设置为double…:(离开文本框的焦点或改变你的逻辑-我们不知道你想要什么-只回答问题。啊!我明白你的意思。给我一点时间来解决我试过了,但现在仍然有问题,当我想键入AP时,它将是PA