keydown + keyup événements de touches spécifiques à l'
Je suis en train de rendre l'arrière-plan de changement de couleur lorsque certaines touches sont maintenues enfoncées. Par exemple, lorsque le " r " touche est enfoncée, le fond doit être rouge. Lorsque le " r " à la touche n'est pas pressée de plus, l'arrière-plan par défaut, blanc.
$(document).ready(function () {
$('body').keydown(function(e){
if(e.keyCode == 114){
$(this).css({'background':'red'});
}
if(e.keyCode == 121){
$(this).css({'background':'yellow'});
}
});
$('body').keypress(function(e){
if(e.keyCode == 114){
$(this).css({'background':'red'});
}
if(e.keyCode == 121){
$(this).css({'background':'yellow'});
}
});
$('body').keyup(function(e){
if(e.keyCode == 114){
$(this).css({'background':'white'});
}
if(e.keyCode == 121){
$(this).css({'background':'white'});
}
});
});
Le problème, je vais avoir, c'est que keyup n'est pas de travail spécifiquement pour chaque touche.
$('body').keyup(function(e){
$(this).css({'background':'white'});
});
Je sais que si je supprime le si les conditions de keyup complètement puis il va se comporter de la façon dont je l'ai dit, je voulais que ça — mais je veux être capable de faire des choses différentes, plus tard, sur l'utilisation de keyup avec des touches spécifiques. Par exemple, alors que le "b", la touche est relâchée, peut-être qu'il va dire quelque chose sur l'écran comme "Tu viens de sortir la clé b!" Comment puis-je suivre les évènements keydown et keyup pour les touches spécifiques et de faire des choses différentes pour chacun? Je sais que ce n'est pas très organisé (je suis assez nouveau à ce genre de choses) donc si il y a un complètement différent et la meilleure manière de faire ceci...
e.which
au lieu de e.keyCode
? stackoverflow.com/a/302161/2111457
OriginalL'auteur | 2013-05-02
Vous devez vous connecter pour publier un commentaire.
DÉMONSTRATION EN DIRECT
FYI R = 82
Un orientée objet exemple serait de créer une liste d'actions pour une TOUCHE souhaitée:
DÉMONSTRATION EN DIRECT
où, au lieu de la Opérateur Ternaire (?:) J'ai utilisé:
vous pouvez également utiliser le PAS de l'opérateur bit à bit comme:
toute façon, vous avez juste besoin de connaître l'événement qui est survenu (provenant de l'organisme "keydown" /"keyup") et d'obtenir le tableau désiré position
[0]
,[1]
de la valeur de la propriété dont vous avez besoin, de l'e.g:["red"]
,["white"]
(où "rouge" == 0 et "blanc" == 1)La DÉMO avec le PAS de l'opérateur bit à bit
Un plus une méthode avancée de DÉMONSTRATION seraient à ajouter à votre liste également
qui aurait pour résultat:
Vous pouvez même maintenez votre B enfoncée et appuyez sur la touche H pour faire des actions simultanées.
Si vous avez des questions (je pense que vous) n'hésitez pas à demander.
MODIFIER
Si vous souhaitez contrôler les classes CSS de faire comme:
http://jsbin.com/awolab/22/edit
merci! Je suppose que ce que je veux vraiment, c'est la capacité à utiliser les différentes fonctions au sein de la keydown et keyups pour les touches spécifiques
Je suis partant pour le travail en quelques minutes — je vais certainement revenez ici quand je rentre à la maison et de regarder votre plus récent exemple merci encore
ajout de l'exemple avancé. N'hésitez pas à demander si vous avez des Q
+1, c'est une belle réponse!
OriginalL'auteur Roko C. Buljan
Maintenant simplement de respecter les règles css avec vos classes css
OriginalL'auteur ilan berci