元键的键码[退格] [ctrl] [alt],带大写和小写字母

时间:2014-12-20 11:57:18

标签: javascript html5 keypress

如何在按键上获取键码?

我知道keydown和keyup将为所有键提供密钥代码,但不考虑字母表的情况 而且keypress会给出区分大小写的密钥代码,但是不要为 backspace alt ctrl 输入和 shift 。是否有任何方法来获取所有密钥代码,包括元和区分大小写的密钥代码?在javascript中

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。

事件按此顺序执行

1,按键确定 2,按键
3,关键

解决问题的步骤

1,使用两个事件,按键和按键
2,如果keycode在大写字母范围内,则在keydown中取消事件 3,按键执行事件

var cancelKeypress = false;
$("body").keydown(function(event){
    event = event || window.event;
    var eliminateKeys = [];
    for (var i = 65; i <= 90; i++) { //Capital Letters [A-Z]
        eliminateKeys.push(i);
    }
    eliminateKeys.push(32); // space
    cancelKeypress = eliminateKeys.indexOf(event.keyCode) == -1 ? false : true;
    if (cancelKeypress) {
        //return false;
    }
    else{
        Main.processTrigger(event);// your processtrigger function
    }
}); 
$("body").keypress(function(event){
    if (cancelKeypress) {
        Main.processTrigger(event); // your processtrigger function
        console.log(event);
    }
    else{
        //return false;
    }
});