2009-09-30 8 views
0

commentaire de chrisrbailey sur cette question:jQuery qu'est-ce que le 'ui' dans l'exemple suivant?

jQuery UI slider - can't slide to 0

m'a aidé à résoudre ce même problème exact que je faisais avec un curseur. Je voudrais étendre cet exemple à une autre question. Quelqu'un pourrait-il me aider à comprendre la différence entre ces deux exemples:

$("#slider1").slider({ 
    slide: function(event,ui){$('#field1').val(ui.value)} 
}); 

$("#slider1").slider({ 
    slide: function(event,ui){$('#field1').val($(this).slider("value"))} 
}); 

Comme la question ci-dessus/réponse indique, ui.value et $ (this) .slider (« valeur ») sont en fait des choses différentes attrapait. Je ne suis pas habitué à l'ui.value et je me demandais si quelqu'un avait une bonne explication/lien vers un tutoriel qui parle plus de l'utilisation des éléments 'event, ui' dans jQuery.

+0

est ui.value la valeur de la position de départ du curseur et le curseur ('valeur') sa valeur actuelle? – danb

Répondre

0

La documentation de jquery-ui vous indique quels paramètres sont transmis aux fonctions de rappel. Malheureusement, la documentation n'est pas toujours géniale pour décrire le type de données que ces paramètres ont. Si vous jetez un oeil à http://jqueryui.com/demos/slider/, onglet Événements, développez pour afficher des informations sur l'événement Diapositive.

Cet événement est déclenché à chaque déplacement de la souris pendant la diapositive. Utilisez ui.value (curseurs à une seule manipulation) pour obtenir la valeur du handle courant, $ (..). Slider ('value', index) pour obtenir une autre valeur de handles.

Renvoie la valeur false afin d'empêcher une diapositive, en fonction de la valeur ui.

2

Avez-vous vérifié le documentation?

J'ai mis en place un demo qui écrit la propriété de chaque objet à l'écran, de sorte que vous pouvez voir ce que chacun contient. Il est intéressant de noter que ui.value et $ (this) .slider ("value") retournent des valeurs différentes (0 et 1, respectivement) quand on commence à faire glisser le curseur (un incrément de curseur conduit aux valeurs 1 et 0, respectivement) . À partir de ce moment, ils semblent également être à côté d'un (c'est sur Firefox 3.5.3 pour moi).

+0

+1 Démo cool .... –

+0

J'ai vérifié la documentation, et c'est un peu vague. Est-ce que l'objet ui (c'est un objet, n'est-ce pas?) Fait partie de chaque composant de l'interface utilisateur, ou est-ce quelque chose d'unique au composant de curseur? –

+0

oui, l'interface utilisateur est un objet. De la démo, nous pouvons voir qu'il a deux propriétés, ** gérer ** et ** valeur **. Il n'est pas unique au composant de l'interface utilisateur du curseur (regardez par exemple les onglets, les accordéons et les événements progressbar), mais ce n'est pas un standard de facto dans les plugins pour autant que je l'ai vu. Il semble que la bibliothèque de l'interface utilisateur jQuery ait essayé de standardiser les signatures du gestionnaire d'événements dans les widgets qu'elle offre. –