2016-11-24 4 views
1
нажатия

я полный новичок в JQuery/JSМножественная функция JQuery

Я пытаюсь создать веб-интерфейс для моего robotcar и проверить для нескольких нажатий клавиша, когда я отпустить все клавиши robotcar остановится.

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 указывается в функции keypr она перестает работать должным образом. Спасибо за помощь

ответ

0

Чувак. Ваш код работает отлично, но когда вы делаете предупреждение при обнаружении нажатия клавиш, он застревает.

Просто снимите предупреждение, и все будет хорошо. если вы не хотите удалить предупреждение, я думаю, вы должны удалить объект, прежде чем отображать предупреждение.

function keypr(){ 
    if (keys[87] && keys[68] == true){ 
     delete keys[68]; 
     delete keys[87]; 
     alert('shit works'); 
    } 
Смежные вопросы