curseur jQuery événement “change”: Comment puis-je déterminer qui l'a appelé?
J'ai eu un curseur qui est utilisé comme un moment dans mon lecteur de musique. La valeur minimale est 0 et le maximum vlaue est la durée de la chanson (en secondes). Chaque seconde (je le fais avec un timer), le curseur se déplace et que la valeur est définie à l'heure actuelle. Cette ligne de code ressemble à ça:
$("#sliderTime").slider("option", "value", document.sound.controls.currentPosition);
L'utilisateur est en mesure de glisser/cliquez sur le curseur et de sauter à un autre point dans la chanson, c'est par la cuisson de la fonction play(startPlayFromHere)'. Il ressemble à ça:
$("#sliderTime").slider({
...
change: function (event, ui) { play(ui.value) },
});
Le problème est que la ligne de code dans la minuterie et l'utilisateur sont l'appel de la même "modifier" l'événement de la de la glissière, et l'utilisateur ne peut pas déplacer le curseur.
Donc ma question est comment puis-je déterminer si l'utilisateur appelé l'événement de changement ou pas (ce qui signifie qu'il a été le timer)?
J'espère que c'est assez clair,
Merci!
OriginalL'auteur eviabs | 2012-04-21
Vous devez vous connecter pour publier un commentaire.
Vous pouvez déterminer si un événement de changement se pose manuellement ou par programmation à l'essai
event.originalEvent
dans le changement de gestionnaire.Voir violon.
Pas le temps de l'écrire, mais vous pouvez attacher un
start
gestionnaire (voir documentation) pour hisser un drapeau qui va inhiber (avec ajustement correspondant de la minuterie code) de la minuterie de contrôle du curseur. Re-baisser le drapeau dans lechange
gestionnaire. (Sinon, l'arrêt de la minuterie, puis redémarrez-le).OriginalL'auteur Beetroot-Beetroot