我试着在多个按钮被按下的时候执行一些代码,我试着以此为例,但它不起作用:
<script>
var map = {82: false, 84: false};
function keydown(e) {
if (e.keyCode in map) {
map[e.keyCode] = true;
if (map[82] && map[84]) {
alert(" all pressed ");
}
}
}
function keyup(e)
{
if (e.keyCode in map) {
map[e.keyCode] = false;
}
}
window.addEventListener('keyup', keyup);
window.addEventListener('keydown', keydown);
</script>即使只按下一个按钮,我也会收到警报(当两个按钮都被按下时我也会收到警报)
请问我做错了什么?
发布于 2015-02-27 02:51:55
试试这个:
var map = [];
onkeydown = onkeyup = function(e){
e = e || event; // to deal with IE
map[e.keyCode] = e.type == 'keydown';
if(map[82] && map[84]){
alert('all pressed');
}
}这里也已经回答了这个问题:
JavaScript multiple keys pressed at once
请务必检查以避免张贴重复的问题。
https://stackoverflow.com/questions/28749956
复制相似问题