web-dev-qa-db-fra.com

Quelle est la différence entre les événements keyup, keydown, keypress et input?

J'ai essayé de comprendre les événements jypery keypress, keydown, keyup et input. Mais je les ai trouvés assez déroutants. Quelqu'un pourrait-il indiquer les différences exactes? Je voudrais également savoir si tous sont déclenchés lorsque l'utilisateur colle un morceau de texte.
Merci

22
Tony Vincent

Selon documents jQuery :

L'événement appui sur la touche est envoyé à un élément lorsque le navigateur enregistre la saisie au clavier. Ceci est similaire à l'événement keydown , sauf que les touches de modification et de non-impression telles que Shift, Esc et delete déclenchent les événements keydown mais pas les événements de pression de touche. D'autres différences entre les deux événements peuvent survenir en fonction de la plateforme et du navigateur.

L'événement keyup est envoyé à un élément lorsque l'utilisateur relâche une touche du clavier.

L'événement oninput est un événement qui se déclenche chaque fois que l'entrée change.

Cependant, l'événement d'entrée n'est pas pris en charge dans IE version ci-dessous 9. Dans ce cas, vous pouvez utiliser l'événement propriétaire onpropertychange, il fait la même chose que oninput.

Mais dans votre cas, vous pouvez utiliser les événements coller et changer ensemble . Vous devez également utiliser change car coller ne se produit que sur les navigateurs qui le prennent en charge sur une pâte explicite.

36
dodopok