以下代码是否有任何理由不能在我的控制台日志中返回任何内容?!
document.onkeypress = zx();
function zx(){
console.log(event.keyCode);
} // zx
window.onkeypress
也不起作用。
其他尝试已经完成,如下:
document.onkeypress = zx(event);
function zx(event){
console.log(event.keyCode);
} // zx
-
document.onkeypress = zx;
function zx(){
console.log(event.keyCode);
} // zx
谢谢!
答案 0 :(得分:11)
忽略调用中的括号,您不需要指定它们。
解决方案:
document.onkeypress = zx;
function zx(e){
var charCode = (typeof e.which == "number") ? e.which : e.keyCode
console.log(charCode);
}
答案 1 :(得分:2)
将function
附加到event
时,您不需要()
只是做:
document.onkeypress = zx; //note! don't use the ()
function zx(){
console.log(event.keyCode);
} // zx
如果你正在使用chrome尝试通过
捕获正确的值function zx(e){
var key = e.which || e.keyCode;
console.log(key);
} // zx
答案 2 :(得分:1)
试试这个
document.onkeypress = displayunicode;
function displayunicode(event){
var charCode = (typeof event.which == "number") ? event.which : event.keyCode
console.log(charCode )
}
这样可行。
答案 3 :(得分:-1)
您的功能需要定义'事件'。
// assign a reference to zx; but don't call zx
document.onkeypress = zx;
// event needs to be defined
function zx(event){
console.log(event.keyCode);
}
keyCode有时会为0
请参阅此页:event.keyCode on MDN
您可能想要使用event.which
document.onkeypress = zx;
function zx(event) {
console.log(String.fromCharCode(event.which));
}