Si je modifie la valeur d'un champ de saisie de manière programmatique, la input
y change
Les événements ne se déclenchent pas. Par exemple, j'ai ce scénario :
var $input = $('#myinput');
$input.on('input', function() {
// Do this when value changes
alert($input.val());
});
$('#change').click(function() {
// Change the value
$input.val($input.val() + 'x');
});
<input id="myinput" type="text" />
<button id="change">Change value</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Le problème : L'événement est déclenché lorsque je tape dans le champ de texte, mais pas lorsque j'appuie sur le bouton. Existe-t-il un moyen d'y parvenir à l'aide d'un événement ou d'une autre méthode sans avoir à le faire manuellement ?
Ce que je ne veux pas faire : Je pourrais passer par tout mon code pour ajouter un trigger
ou appeler la fonction partout manuellement, mais ce n'est pas ce que je recherche.
Pourquoi ? La raison principale pour laquelle je voudrais faire cela automatiquement est que j'ai beaucoup de champs de saisie et beaucoup d'endroits différents où je modifie ces entrées de manière programmatique. Je gagnerais beaucoup de temps s'il existait un moyen de déclencher l'évènement automatiquement quand une entrée est modifiée n'importe où dans mon code.