Comment le feu JQuery événement de changement lors de la saisie d'une valeur modifiée par programmation?
Je tiens à feu JQuery change
événement lors de la saisie du texte est modifiée par programmation, par exemple comme ceci:
JS:
$("input").change(function(){
console.log("Input text changed!");
});
$("input").val("A");
HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' />
Mais ça ne fonctionne pas. Comment puis-je faire ce travail?
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de déclencher l'événement manuellement à l'aide de
modifier()
outrigger('modifier')
JS:
HTML:
Le gestionnaire d'événement
.change()
se comporte comme une soumission de formulaire en gros quand les changements de valeur sur soumettre la console de log. Afin de se comporter sur la saisie de texte vous pouvez utiliser l'entrée, comme ci-dessous:JS:
HTML:
Ce que vous devez faire est de déclencher la
change
événement une fois que vous avez mis le texte. Donc, vous pouvez créer une fonction pour faire cela, alors vous n'aurez pas à le répéter à chaque fois que vous devez mettre à jour le texte, comme ceci:J'ai mis à jour le violon,
Vous pouvez utiliser le DOMSubtreeModified événement:
Si vous souhaitez feu les deux de l'utilisateur et les changements de code:
Cet événement est marqué comme obsolète et parfois assez CPU de temps, mais il peut aussi être très efficace lorsqu'il est utilisé avec soin...
jquery événement de changement ne fonctionne que lorsque l'utilisateur tape dans l'entrée, puis perd le focus. Ainsi, vous pouvez utiliser la solution de contournement suivante pour le faire:-
Disons que vous avez un bouton en cliquant, ce qui entraîne la variation de la valeur d'entrée. (ce pourrait être n'importe quoi d'autre, ainsi au lieu d'un bouton)