我是jquery / js中的新手
我正在尝试为我的机器人车创建网络界面并检查多个按键,每当我发布所有按键时,机器人车都会停止。
http://jsfiddle.net/gFcuU/1105/
var keys = {};
$(document).keydown(function (e) {
keys[e.which] = true;
keypr();
printKeys();
});
$(document).keyup(function (e) {
delete keys[e.which];
printKeys();
});
function printKeys() {
var html = '';
for (var i in keys) {
if (!keys.hasOwnProperty(i)) continue;
html += '<p>' + i + '</p>';
}
$('#out').html(html);
}
function keypr(){
if (keys[87] && keys[68] == true){
alert('shit works');
}
}
多次按键检测有效,但如果我按下功能键中所述的W + D,它将停止正常工作。 谢谢你的帮助
答案 0 :(得分:0)
多德。您的代码运行正常,但是当您在检测到按键时执行警报时,它会卡住。
只需删除警报,一切都会好起来的。如果你不想删除警报,我猜你必须删除该对象,然后再显示警告。
function keypr(){
if (keys[87] && keys[68] == true){
delete keys[68];
delete keys[87];
alert('shit works');
}