簡體   English   中英

jQuery檢測鍵盤按,然后焦點到文本框

[英]jQuery detect keyboard press then focus to textbox

我有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=""/>

有什么建議?

DEMO在這里

使用String.fromCharCode

String.fromCharCode(e.keyCode)

演示: http//jsfiddle.net/hw2g5/

你的代碼:

$(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));

解決了。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM