Range Slider Event Handler Javascript
Je vais essayer d'obtenir un curseur de plage de travailler mais je ne peux pas.
Comment puis-je ajouter un gestionnaire d'événements ainsi, lorsque l'utilisateur choisit une valeur de mon code qui lit la valeur. Droit maintenant, sa valeur est toujours 1
.
Je voudrais le faire à l'aide de Javascript.
HTML:
<div id="slider">
<input class="bar" type="range" id="rangeinput" min="1" max="25" value="1" onchange="rangevalue.value=value"/>
<span class="highlight"></span>
<output id="rangevalue">1</output>
</div>
JAVASCRIPT:
var rangeInput = document.getElementById("rangeinput").value;
var buttonInput = document.getElementById("btn");
if (buttonInput.addEventListener) {
buttonInput.addEventListener("click", testtest, false);
}
else if (buttonInput.attachEvent) {
buttonInput.attachEvent('onclick', testtest);
}
function testtest(e) {
if (rangeInput > 0 && rangeInput < 5) {
alert("First");
} else {
alert("Second");
}
}
source d'informationauteur kalpetros
Vous devez vous connecter pour publier un commentaire.
Seule Lecture
Le problème, c'est que vous êtes seulement à la lecture de la valeur une fois (au démarrage), au lieu de le lire à chaque fois que l'événement se produit:
Vous devriez être à la lecture de la valeur dans le gestionnaire à la place:
Ou de réécrire votre code:
Mise à jour rangevalue
Aussi, il semble que vous voulez mettre à jour l'élément de sortie avec la valeur de la plage. Ce que vous êtes en train de faire est de parler à l'élément par son id:
Cependant, autant que je sache, ce n'est pas un comportement standard; vous ne pouvez pas se référer à des éléments par leur seul id, vous avez pour récupérer l'élément, puis définissez la valeur via le DOM.
Pourrais-je vous suggérer que vous ajoutez un changement écouteur via javascript:
Bien sûr, vous aurez à mettre à jour le code à utiliser
addEventListener
ouattachEvent
selon les navigateurs que vous souhaitez soutenir; c'est là que JQuery devient vraiment utile.Utiliser le
mouseup
événement.DÉMO: http://jsfiddle.net/ZnYjY/1
Vous pouvez également utiliser les Formulaires
oninput
méthode:Ce qui a un avantage sur
onclick/onmouseup
parce qu'il traite le cas où le curseur est déplacé à l'aide du clavier (onglet à l'entrée et utilisez les touches fléchées)