多个按键功能jquery

时间:2016-11-24 10:26:29

标签: javascript jquery keypress

我是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,它将停止正常工作。 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

多德。您的代码运行正常,但是当您在检测到按键时执行警报时,它会卡住。

只需删除警报,一切都会好起来的。如果你不想删除警报,我猜你必须删除该对象,然后再显示警告。

function keypr(){
    if (keys[87] && keys[68] == true){
      delete keys[68];
      delete keys[87];
      alert('shit works');
  }