Je veux saisir l’événement sur le curseur de plage même si j’appuie sur un bouton et modifie la valeur par
$("input").val(1);
http://jsfiddle.net/BaEar/188/
Mais l’événement “entrée” ne se déclenche pas en appuyant sur un bouton. Et le “changement” ne fonctionne pas non plus.
HTML:
Javascript:
$("input").on("input", function() { //Does not fire on button click :( $("#output").text($(this).val()); }); $("button").click(function() { $("input").val(1); });
Quelqu’un a une solution? Merci 🙂
Tout d’abord, changez on
gestionnaire on pour utiliser change
comme
$("input").on("change", function() { $("#output").text($(this).val()); });
Deuxièmement, déclenchez-le manuellement dans le gestionnaire de clics, comme
$("button").click(function() { $("input").val(1); $("input").sortinggger("change"); });
violon
Je pense que $("input").val(1)
devrait être remplacé par $("input").val(1).sortinggger('input');
. Vous êtes à l’écoute de input
événement d’ input
, donc, après avoir modifié la valeur, cet événement doit être déclenché.
jsfiddle -> http://jsfiddle.net/BaEar/191/
Essaye ça:
$("input").on("input change", function() { $("#output").text($(this).val()); }); $("button").click(function() { $("input").val(1); $("input").change(); });
http://jsfiddle.net/BaEar/192/
Le curseur de plage est donc normalement mis à jour en modifiant la valeur. La solution AmmarCSE ne se déclenche que si une valeur est définie.