11486 sujets

JavaScript, DOM et API Web HTML5

Salut

J'ai besoin de detecter un changement de valeur dans un input de type text.
mais pas un changement de type "saisie au clavier" mais plutôt un changement qui vient d'une autre fonction qui fait $(this).val("ma nouvelle valeur"). <- c'est cette évenement que je cherche à détecter.

J'ai beau essayé .on("keyup input change") ma function anonyme n'est jamais appelé.

Exemple ici, si je click, rien ne se passe...
Modifié par JENCAL (08 Apr 2019 - 16:35)
Modérateur
Pas sûr d'avoir tout saisi mais... est-ce que... par hasard... heu... .on("change",function()... ?
Modérateur
Hello, les évènements change ou input ne sont pas lancés lorsque la modification est faite en JavaScript comme pour la plupart des évènements. Si ces évènements étaient lancés cela rendrait très risqué la probabilité de boucles infinies difficilement repérables (et donc annulable) par le navigateur.
En jQuery, on peut facilement lancer un évènement ainsi:
$(this).val("ma nouvelle valeur").trigger('change')
Meilleure solution
Oui voila je suis obligé de passer par trigger()...... j'étais pas sûr.. Merci Kusto.

Merci Greg aussi, mais change il est déjà testé dans mon exemple .on("keyup input change")