KeyboardEvent.charCode

Obsolète: Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

La propriété en lecture seule KeyboardEvent.charCode retourne la valeur Unicode d'une touche caractère pressée pendant un évènement keypress.

Pour des constantes équivalant ces codes numériques, voir KeyEvent.

Note : N'utilisez plus cette propriété, elle est dépréciée. Utilisez plutôt KeyboardEvent.key.

Syntaxe

js
var value = event.charCode;
  • value est la valeur Unicode du caractère associé à la touche pressée.

Exemple

html
<html>
  <head>
    <title>Exemple charCode</title>

    <script type="text/javascript">
      function AfficherCaractere(e) {
        alert(
          "Touche tapée : " +
            String.fromCharCode(e.charCode) +
            "\n" +
            "charCode: " +
            e.charCode,
        );
      }
    </script>
  </head>

  <body onkeypress="AfficherCaractere(event);">
    <p>Tapez une touche caractère de votre clavier (a,b,c...)</p>
  </body>
</html>

Notes

Après un évènement keypress, la valeur Unicode de la touche pressée est stockée dans l'une ou l'autre des propriétés keyCode et charCode, jamais les deux à la fois. Si la touche pressée génère un caractère (ex. 'a'), charCode prend la valeur du code de ce caractère, en respectant la casse. (i.e. charCode tient compte d'une touche Maj. enfoncée). Sinon, le code est stocké dans keyCode.

Quand une ou plusieurs touche modificatrices sont pressées, il y a quelques règles complexes pour charCode, jetez un oeil à Gecko Keypress Event (en anglais) pour le détail.

charCode n'est jamais défini lors d'évènements keydown et keyup. Dans ces cas, keyCode is set instead.

Pour obtenir le code de la touche qu'il soit stocké dans keyCode ou charCode, requêtez la propriété which.

Les caractères entrés via IME ne s'enregistrent pas sous keyCode ou charCode. Actually with the Chinese IME I'm using, entering the IME results in a keypress event with keyCode = 229 and no other key events fire until the IME exits (which may happen after multiple characters are inputted). I'm not sure if other IME's work this way.

Pour une liste de valeurs de charCode associées à leurs touches, lancez l'exemple dans Gecko DOM Reference:Examples #Example 7: Displaying Event Object Constants (en anglais) et regardez le tableau HTML résultant.

Spécifications

Specification
UI Events
# dom-keyboardevent-charcode

Compatibilité des navigateurs

BCD tables only load in the browser