Le javascript peut-il indiquer la différence entre les touches gauche et droite?

Principalement, c'est un contrôle de santé mentale. Le code de clé pour les deux touches de changement est 16. Cela signifie-t-il qu'il est impossible de distinguer les événements de changement de gauche et de droite dans un navigateur?

Dans les navigateurs plus récents prenant en charge DOM3 vous pouvez utiliser event.location pour vérifier l'emplacement.

Dans la spécification DOM3 , il existe 4 constantes définies pour l'emplacement, DOM_KEY_LOCATION_STANDARD , DOM_KEY_LOCATION_LEFT , DOM_KEY_LOCATION_RIGHT et DOM_KEY_LOCATION_NUMPAD .

Dans ce cas, vous pouvez:

 if (event.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT){ } else if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT){ } 

Internet Explorer est capable de distinguer les décalages gauche et droit avec la propriété shiftLeft:

Propriété shiftLeft (événement)

Sinon, ils sont indiscernables.