1174 sujets

Accessibilité du Web

Bonjour,
suite à l'ajout d'un onkeypress combiné à un onclick, je me suis aperçu que le onkeypress ne fonctionnait pas avec la touche Enter mais avec toutes les autres touches. Smiley rolleyes
Est-ce que le onkeypress est pris en compte différement en fonction du navigateur ou du clavier?
Le onkeydown a éxactement le comportement inverse (Enter ok et autres touches sans effets).
Modifié par Hermann (27 Jul 2007 - 17:20)
Bonsoir,

L'évènement keypress survient après une combinaison keydown puis keyup, de même que l'évènement click es généré après mousedown et mouseup.
Les évènements sont en principe toujours envoyés dans cet ordre : keydown - keyup - keypress.
IL peut y avoir plusieurs keydown d'affilée avant keyup dans le cas d'une répétition de touches.

Selon la logique, keypress n'est pas généré pour les touches ne produisant pas un caractère ascii affichable.
Ainsi, enter, backspace, ctrl, esc, etc. sont ignorées. Mais il ne faut pas oublier dans ce lot les touches qui ne produisent pas à elles seules un caractère imprimable, comme les accents par exemple.

Cet évènement est donc en théorie parfaitement indiqué lorsqu'il s'agit de savoir par exemple si un champ texte a été modifié.

Par contre, keydown et keyup sont normalement envoyés quelque soit la touche enfoncée ou relâchée.

Ceci, c'est la théorie... ensuite l'implémentation faite dans les navigateurs diffèrent sans doute un peu de l'un à l'autre... il faudrait faire des tests approfondis pour savoir.
Salut Quentin,
ok merci pour ces infos. Smiley smile
Donc dans ma situation, deroulement/affichage d'un div sur un onclick,
il serait plus logique d'utiliser le onkeydown voire le onkeyup.