我编写了以下代码(使用jQuery)来显示按下的键。
$(window).keydown(function(e){
$("div").text("Key:" + String.fromCharCode(e.keyCode).toLowerCase());
return false;
});此代码使用普通字母字符(q,w,e,r...)。但当我按下非字母键(如']')时,显示的字符不正确。
例如:',‘->ç,']’->
我的代码出了什么问题?
发布于 2012-02-04 19:05:01
使用keypress事件和e.which属性。
jQuery对键码进行标准化,并将变量存储在event.which中。keypress事件的which属性是String.fromCharCode的唯一可靠值。
event.keyCode属性不能等于event.charCode或event.which属性。
与event.keyCode相反,对于不可打印的字符,event.which的值为零。这就是为什么你会看到奇怪的人物。
$(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
});https://stackoverflow.com/questions/9140388
复制相似问题