Quelqu'un peut-il me dire quelle est la différence entre les événements change
et input
?
J'utilise jQuery pour les ajouter:
$('input[type="text"]').on('change', function() {
alert($(this).val());
})
Cela fonctionne également avec input
au lieu de change
.
Peut-être une différence dans l'ordre des événements par rapport à la mise au point?
javascript
jquery
events
dom
Gabriel Petrovay
la source
la source
input
événement capture également le collage. Voir stackoverflow.com/questions/15727324/…Réponses:
D'après ce post :
oninput
L'événement se produit lorsque le contenu textuel d'un élément est modifié via l'interface utilisateur.onchange
se produit lorsque la sélection, l'état vérifié ou le contenu d'un élément ont changé . Dans certains cas, cela se produit uniquement lorsque l'élément perd le focus ou lorsque vous appuyez sur return(Entrée) et que la valeur a été modifiée. L'attribut onchange peut être utilisé avec:<input>
,<select>
et<textarea>
.TL; DR:
oninput
: toute modification apportée au contenu du texteonchange
:<input />
: changer + perdre le focus<select>
: modifier l'optionla source
onchange
se produit "lorsque l'élément perd le focus" tandis que leoninput
se produit à chaque changement de texte.onchange
se déclenche également lorsque vous appuyez sur Entrée tout en vous concentrant.Le se
change
event
déclenche dans la plupart des navigateurs lorsque le contenu est modifié et que l'élément perdfocus
. C'est essentiellement un ensemble de changements. Il ne se déclenchera pas pour chaque changement comme dans le casinput
event
.Le se
input
event
déclenche de manière synchrone lors du changement du contenu de l'élément. En tant que tel, l'auditeur d'événement a tendance à se déclencher plus fréquemment.Différents navigateurs ne conviennent pas toujours si un événement de modification doit être déclenché pour certains types d'interaction
la source
input
événement.La documentation MDN a une explication claire (je ne sais pas quand elle a été ajoutée):
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
la source