fis*_*ato 1 javascript keyboard jquery
我编写了以下代码(使用jQuery)来显示按下的键.
$(window).keydown(function(e){
$("div").text("Key:" + String.fromCharCode(e.keyCode).toLowerCase());
return false;
});
Run Code Online (Sandbox Code Playgroud)
此代码适用于普通字母字符(q,w,e,r ...).但是当我按非字母键(如']')时,会显示一个不正确的字符.
例如:',' - >¼,']' - >ý
我的代码出了什么问题?
使用keypress事件和e.which属性.
jQuery规范化密钥代码,并将变量存储在其中event.which.该keypress事件的which属性是唯一可靠的值String.fromCharCode.
该event.keyCode属性可能不等于event.charCode或event.which属性.
对于不可打印的字符,event.which其值为零,与之相反event.keyCode.这就是为什么你会看到奇怪的角色.
$(window).keypress(function(e) {
var charCode = e.which;
if (!charCode) { // <-- charCode === 0
return;// return false, optionally
}
$("div").text("Key:" + String.fromCharCode(charCode).toLowerCase());
return false; // Or e.preventDefault(); and/or e.stopPropagation()
}).keyup(function(e) {
// Key is lifted, do something
});
Run Code Online (Sandbox Code Playgroud)