Javascript jQuery检测键盘按下,然后聚焦到文本框
我有jQuery函数,可以检测键盘上的某个键是否被按下。到目前为止,这是有效的,例如,如果我按下“P”,它将聚焦到文本框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
$(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