Différences entre l'événement keyup () et l'événement change () dans le changement de nom d'utilisateur en direct
- nom d'utilisateur champ html
Username: <input type="text" name="username" id="username" />
- keyup() événement
$(document).ready(function(){ $('#username').on('keyup', function(){ var username = $("#username").val(); alert(username); }); });
- change() événement
$(document).ready(function(){ $("#username").change(function() { var username = $("#username").val(); alert(username); }); });
- Ma question est dois-je utiliser
keyup()
événement ouchange()
événement nom d'utilisateur de vérification?
source d'informationauteur Michael Kuan
Vous devez vous connecter pour publier un commentaire.
Ils sont presque la même chose. En jQuery ou JavaScript, je voudrais recommander le
change()
événement. La raison pour laquelle vous ne devriez pas utiliserkeyup()
est parce que si un utilisateur entre une valeur à l'aide de la saisie automatique, il ne se déclenchera pas lakeyup()
événement. Cependant, la fonction remplissage automatique ne feu lechange()
de l'événement, et la vérification de votre script sera exécuté, et l'entrée sera vérifiée.REMARQUE: Normalement,
change()
est déclenché lorsque l'élément perd le focus. Si vous voulez vérifier les données après chaque touche, vous pouvez le combinerkeyup()
etchange()
qui vous permettra d'analyser les données sur les deux événements. C'est le meilleur des deux mondes, à mon avis.Espérons que cette aide!
Utilisation keyup avec anti-rebond, c'est plus convivial.
keyup
Chaque fois que vous relâchez une touche.
L'événement keyup est envoyé à un élément lorsque l'utilisateur relâche une touche sur le clavier. Il peut être attaché à n'importe quel élément, mais l'événement n'est envoyée à l'élément qui a le focus. Focusable éléments peuvent varier entre les navigateurs, mais les éléments de formulaire peut toujours obtenir le foyer sont donc raisonnable de candidats pour ce type d'événement. -- http://api.jquery.com/change/
changement
Chaque fois que le contenu de ce champ de changements, en général, cela se produit lorsque vous supprimez le focus à partir de ce champ, mais pas seulement.
Le changement événement est envoyé à un élément lorsque sa valeur change. Cet événement est limité à
input
éléments,textarea
boîtes etselect
éléments. Pour sélectionner les cases, cases à cocher et des boutons radio, l'événement est déclenché immédiatement lorsque l'utilisateur effectue une sélection avec la souris, mais pour les autres types d'éléments de l'événement est reporté jusqu'à ce que l'élément perd le focus. -- http://api.jquery.com/change/Utilisation keyup et sans rebond de rappel
De sorte que vous processus de vérification n'est pas tiré après chaque pression de touche, mais seulement si l'utilisateur arrête de taper, consultez cet exemple: http://codepen.io/desandro/full/JDugF, ouvrez la page, ouvrir la console javascript, et commencent à défiler.
Dans votre cas d'utilisation "modifier" qui sera le meilleur, car il vous permettra de vérifier le nom d'utilisateur d'entrée que l'utilisateur est en entrant en temps réel par rapport 'keyup' sera déclenché uniquement lorsque l'utilisateur a terminé d'entrer le nom d'utilisateur et appuyez sur une touche.