Comment puis-je vérifier si une touche est pressée pendant l'événement click avec jQuery?
Je voudrais attraper un événement de clic avec jQuery et être en mesure de dire si une touche a été pressée en même temps si je peux fourchette à l'intérieur de la fonction de rappel basé sur l'événement keypress.
Par exemple:
$("button").click(function() {
if([KEYPRESSED WHILE CLICKED]) {
//Do something...
} else {
//Do something different...
}
});
Est-ce possible, ou comment peut-il être fait si c'est possible?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez facilement détecter les touches shift, alt et les touches de contrôle de l'propriétés de l'événement;
Voir quirksmode pour plus de propriétés. Si vous voulez détecter d'autres touches, voir cletus réponse.
if (e.metaKey) alert('Command down')
. Voici un bel article à propos des événements clés de la JS unixpapa.com/js/key.htmlVous devez séparément suivre l'état de la touche à l'aide de
keydown()
etkeyup()
:Voir le liste des codes de clé. Maintenant, vous pouvez vérifier que:
J'ai été capable de l'utiliser avec JavaScript seul
Sans voler @Arun Prasad du tonnerre, ici est un pur JS extrait de je rabâchage pour arrêter l'action par défaut, ce qui serait autrement ouvrir une nouvelle fenêtre CTRL+clic enfoncé.
JS:
HTML: