Lier Plusieurs Touches à l'Événement Keypress
Je suis actuellement en utilisant ce Javascript kepypress code pour déclencher des événements sur pression de touche:
$(document).keydown(function(e) {
switch(e.keyCode) {
case 39:
e.preventDefault();
alert("Arrow Key");
break;
case 37:
e.preventDefault();
alert("Arrow Key");
}
});
mais ce que je me demande c'est si je peux au lieu de lier une clé de lier une combinaison de deux touches. Je pourrais faire quelque chose comme:
$(document).keydown(function(e) {
switch(e.keyCode) {
case 39 && 37:
e.preventDefault();
alert("Arrow Key");
break;
}
});
Voulez-vous dire en appuyant en même temps? Ensuite, vous pouvez regarder les stackoverflow.com/questions/1652210/....
OriginalL'auteur mcbeav | 2010-11-13
Vous devez vous connecter pour publier un commentaire.
Si vous voulez vérifier plusieurs touches à la fois, vous devez utiliser uniquement une clé et d'un ou de plusieurs touches de modification (alt/ctrl/shift) que vous ne pouvez pas être sûr que les deux touches peut effectivement être pressé à la fois de l'utilisateur sur le clavier (en fait, ils peuvent toujours être pressé, mais le PC pourrait ne pas comprendre en raison de la façon dont les claviers sont câblés).
Vous pouvez utiliser l'e.altKey, e.ctrlKey e.shiftKey champs de vérifier si la mise en correspondance de modificateur de touche a été pressée.
Exemple:
Parfait, parfait, parfait - exact ce que je cherchais depuis ce matin!!
Génial!!!!,cela a fonctionné!!!! c'était ce que je cherchais.
OriginalL'auteur ThiefMaster
Pourquoi ne pas utiliser
if
plutôt queswitch
?Je sais que cela ne marche pas' a rien à voir avec ce post, mais si vous voyez cela, vous pourriez peut-être m'aider avec jQuery LazyLoad plugin si vous avez une minute?
Juste de la curiosité, mais comment cela peut-il être accepté votre réponse avec le pendant que vous êtes en déclarant "je suis à la recherche de quelque chose qui pourrait fonctionner pour une combinaison de touches. Des idées?" dans un autre commentaire?
OriginalL'auteur lonesomeday
Vous pouvez utiliser le cas fallthrough:
Remarque que je suis en utilisant
e.which
au lieu dee.keyCode
pour le faire fonctionner dans tous les navigateurs (jQuery attribue automatiquement la propriété qui contient le code de la clé à l'e.qui).keydown
événement,keyCode
est la propriété correcte dans tous les navigateurs. Vous êtes peut-être la pensée dekeypress
événements?Je suis sur le point d'un test, mais juste pour être sûr, c'est d'aller à feu sur la pression de deux touches, une combinaison, droit?
non, ce code n'est pas pour
combination
, c'est poureither one of them is pressed
.Je suis à la recherche de quelque chose qui pourrait fonctionner pour une combinaison de touches. Des idées?
OriginalL'auteur ThiefMaster