2016-10-27 3 views
0

J'utilise le code ci-dessous pour vérifier si l'utilisateur a appuyé sur la touche 'shift'. Il renvoie 16 correctement, puisque c'est le code clé pour 'shift'.Détection gauche de la touche Maj du clavier - JavaScript

Mais est-il un moyen que nous pouvons détecter si le changement est emboutie la gauche ou droit un dans le clavier?

Voici le code que je l'ai utilisé:

$(document).keydown(function (e) { 
    if (e.keyCode == 16) { 
     alert(e.which + " or Shift was pressed"); 
    } 
}); 
+3

Oui, c'est possible. Découvrez ce fil pour la réponse: http://stackoverflow.com/questions/22029033/can-javascript-tell-the-difference-between-left-and-right-shift-key –

+0

@EricWiener C'est génial! Merci –

Répondre

2

Pour JQuery en particulier, si vous regardez votre événement e vous trouverez

e.originalEvent.code

qui contient shiftLeft ou shiftRight en fonction, dépendemment.

Je suppose que originalEvent est en fait la base javascript pression de touche, vous pouvez obtenir de quelque chose comme

body.onkeydown = function (e) { console.log(e); }

puisqu'il semble identique.