145 votes

Comment savoir quelle touche de caractère est enfoncée ?

J'aimerais savoir quelle touche de caractère est enfoncée d'une manière compatible avec les navigateurs croisés en Javascript pur.

41voto

Tim Down Points 124501

Il y a un million de doublons de cette question ici, mais ça recommence quand même :

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.keyCode || evt.which;
    var charStr = String.fromCharCode(charCode);
    alert(charStr);
};

La meilleure référence sur les événements clés que j'ai vus est http://unixpapa.com/js/key.html.

15voto

lewdev Points 101

Essayez :

<table>
  <tr>
    <td>Key:</td>
    <td id="key"></td>
  </tr>
  <tr>
    <td>Key Code:</td>
    <td id="keyCode"></td>
  </tr>
  <tr>
    <td>Event Code:</td>
    <td id="eventCode"></td>
  </tr>
</table>
<script type="text/javascript">
  window.addEventListener("keydown", function(e) {
    //tested in IE/Chrome/Firefox
    document.getElementById("key").innerHTML = e.key;
    document.getElementById("keyCode").innerHTML = e.keyCode;
    document.getElementById("eventCode").innerHTML = e.code;
  })
</script>

*Remarque : cela fonctionne dans "Exécuter l'extrait de code"

Ce site fait la même chose que mon code ci-dessus : Keycode.info

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X