Comprenons d'abord les différences entre chaque événement
Keydown: se produit lorsque la touche est enfoncée lorsque le contrôle a focalisé
DESTRES DE KEYPS: se produit lorsque la touche est enfoncée lorsque le contrôle a une mise au point
KeyUp: se produit lorsque la clé est libérée lorsque le contrôle a focalisé
1. Keypress est principalement utilisé pour recevoir des caractères ANSI tels que des lettres et des numéros. Les processus d'événements Keydown et Keyup peuvent généralement capturer toutes les touches du clavier, sauf PRSCRN (les clés spéciales pour les claviers spéciaux ne sont pas discutées ici.
2. Keypress ne peut capturer qu'un seul caractère, tandis que Keydown et Keyup peuvent capturer une combinaison de clés.
3. Keypress n'affiche pas l'état physique du clavier (touche de décalage), mais passe uniquement un caractère. Keypress interprète les formes supérieures et inférieures de chaque caractère en tant que codes de clés différents, c'est-à-dire en tant que deux caractères différents. Keydown et Keyup ne peuvent pas déterminer la taille des lettres de valeur clé. Keydown et KeyUp Interpréter la forme majuscule et minuscule de chaque caractère avec deux paramètres: Keycode - affiche la clé physique (renvoie A et A comme la même clé) et Shift - indique l'état de la touche Shift + et renvoie A ou un de l'une de eux.
5. Keypress ne fait pas de distinction entre les caractères numériques du clavier et le clavier principal, tandis que Keydown et Keyup distinguent les caractères numériques du clavier et le clavier principal.
6. Les événements Keydown et Keyup se produisent lorsque (Keydown) ou Release (KeyUp) une clé. Étant donné que les touches du clavier sont généralement repoussées immédiatement (ceci est différent de la souris), il n'y a pas beaucoup de différence entre lequel de ces deux événements. De plus, il y a une autre différence entre UP et les deux autres: pour juger l'état modifié de la clé, UP doit être utilisé.
Nous pouvons utiliser l'événement Keydown pour bloquer la saisie des utilisateurs, par exemple, un certain champ de saisie ne peut entrer que des numéros
Keycode des touches numériques sur le clavier
[48-57] Clés numériques
[96-105] clavier numérique
Autorisez également la suppression de la clé arrière
Le code est le suivant
La copie de code est la suivante:
var input = document.getElementByid ('nombre_ipt')
input.onkeydown = function (e) {
var keycode = e.keycode
if (! isNumber (keycode)) renvoie false
}
// Seuls les nombres peuvent être entrés
fonction isNumber (keycode) {
// nombre
if (keyCode> = 48 && keyCode <= 57) renvoie true
// petit clavier numérique
if (keyCode> = 96 && keyCode <= 105) renvoie true
// touche arrière
if (keycode == 8) renvoie true
retourner faux
}