2016-11-24 2 views
1

Je suis débutant complet dans jquery/jsfonction multiple jquery keypress

Je suis en train de créer une interface web pour mon robotcar et vérifier plusieurs frappes de touches, chaque fois que je libère toutes les clés robotcar cesseraient.

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'); 
    } 
} 

multiples travaux de détection de pression de touche, mais si je presse W + D indiqué dans la fonction keypr il cesse de fonctionner correctement. Merci pour votre aide

Répondre

0

Dude. Votre code fonctionne parfaitement, mais lorsque vous faites l'alerte tout en détectant les touches, il reste bloqué. Il suffit de retirer l'alerte et tout va bien se passer. Si vous ne voulez pas supprimer l'alerte, je suppose que vous devez supprimer l'objet avant d'afficher l'alerte.

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