我写了一个函数,它应该检查是否按下了一个特定的按钮。但是,它似乎总是返回错误。这是功能:
function keyPressed(ev) {
var r = false;
document.onkeypress = function(e) {
if (ev == e.which || ev == e.keyCode) {
r = true;
}
}
return r;
}
这就是你的称呼方式:
if (keyPressed(119)) {
// do something
}
使用提示进行检查,当我按下" W"时它们似乎是相同的数字,但该功能总是返回false。它们是不同的类型吗?
答案 0 :(得分:1)
document.onkeypress
将被执行。但keyPressed
只有在你调用它时才会被执行。因此,除非您在推送触摸的同时启动keyPressed(touch)
,否则它将始终返回false。
你做的是:当我打电话给keyPressed(
时)时,将一个函数绑定到document.onkeypress
。然后返回r,它尚未被绑定修改。
我建议您尝试在大型document.onkeypress
函数中添加类似开关的回调结构。
奖励:e。不赞成使用,如果可能,请使用e.key。