2

有人可以帮助我,我如何将keyCode,which定义charcode为变量。下面是我的代码。但似乎在 Firefox 中不起作用。我已经尝试过 Google chrome 和 ie,它的工作正常。

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

1 回答 1

4

我认为event.which足以检查keyCode所有浏览器并正常工作。

根据 jQuery 文档:

event.which属性规范event.keyCodeevent.charCode。建议观看event.which作为键盘键。input

更多的

event.which还标准化按钮按下(mousedown 和 mouseupevents),报告1 为 left button2 为 middle3 为 right。使用event.which而不是event.button

代码

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

工作样本

阅读更多关于event.which

于 2012-06-25T06:34:34.503 回答