我有jQuery函数,可以检测键盘中的某些键是否被按下。到目前为止工作,例如,如果我按“P”,那么它将集中到文本框。
$(document).keyup(function(e)
{
if (e.keyCode == 51 || e.keyCode == 52 || e.keyCode == 80 || e.keyCode == 65)
{
$("#code_read_box").focus();
}
});
现在我想按“P”时,“P”也会设置为文本框。
<input type="text" id="code_read_box" value=""/>
有什么建议吗?
答案 0 :(得分:2)
使用String.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));
答案 1 :(得分:0)
解决。
$(document).keyup(function(e) {
var key = String.fromCharCode(e.keyCode);
if (key.match(/[34PA]/) && !$('input').is(':focus')) {
$('input').focus();
$('input').val($('input').val() + key);
}
});