对所有Web浏览器使用keydown

时间:2012-06-25 06:33:11

标签: jquery

有人可以帮助我,我如何定义keyCodecharcode变量。下面是我的代码。但似乎不适用于Firefox。我已经尝试使用谷歌Chrome,即它的工作正常。

    $(function() {
      $('#txtInput').keydown(function(event) {

      var Key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
            //number
        if (Key >= 48 && Key <= 57)
            return true;
        //numpad
        else if (Key >= 96 && Key <= 105)
            return true;
        //backspace,tab
        else if (Key >= 8 && Key <= 9)
            return true;
        else return false;
    });
});

1 个答案:

答案 0 :(得分:4)

我认为event.which足以检查keyCode并适用于所有浏览器。

根据jQuery doc:

  

event.which 属性规范化 event.keyCode ,   的 event.charCode 即可。建议观看 event.which   键盘键input

更多

  

event.which 也可以按下按钮(mousedown和   mouseupevents),报告 1表示左键 2表示中间,   和 3为正确的。使用 event.which 代替 event.button

CODE

$('#txtInput').keydown(function(event) {

    var Key = event.which;
    //number
    if (Key >= 48 && Key <= 57) {
        alert('number');
        return true;
    }
    //numpad
    else if (Key >= 96 && Key <= 105) {
        alert('numpad');
        return true;
    }
    //backspace,tab
    else if (Key >= 8 && Key <= 9) {
        alert('backspace, tab');
        return true;
    }
    else return false;
});

<强> Working sample

了解有关event.which

的更多信息