Qu'est-ce qui a changé dans jQuery UI 1.8 - Plus de livres gratuits!

jQuery UI 1.8 est actuellement au stade de la version candidate à la publication et, sous réserve de la découverte d’un bogue ou d’une faille majeure, deviendra prochainement la version stable actuelle de la bibliothèque d’interface utilisateur officielle de jQuery. Alors, qu'est-ce qui a changé depuis la dernière version stable actuelle, la 1.7.2? Une des différences majeures est bien sûr que la bibliothèque fonctionne maintenant avec la dernière version de jQuery, la version 1.4.1, mais de nombreux autres changements ont été apportés, y compris l’ajout de nouveaux composants exceptionnels, que nous examinerons plus en détail. cours de cet article.


Copies gratuites de jQuery UI 1.7

L'auteur de cet article, Dan Wellman, a récemment publié jQuery UI 1.7, de Packt Publishing. C'est une lecture fantastique, et j'ai le plaisir d'annoncer que nous avons quelques exemplaires à distribuer au hasard. Laissez simplement un commentaire sur l'article et vous serez automatiquement inscrit au dessin. Revenez lundi pour savoir si vous êtes un gagnant!


1. Zapping des bugs

Cette version de la bibliothèque apporte plusieurs corrections de bogues pour certains composants clés, notamment les widgets Datepicker et Dialog et les aides d’interaction Droppable, Resizable et Selectable. Aucun des bogues n’a été à l’état de brouillard, mais néanmoins, le nettoyage de ces bogues est un élément essentiel de la progression continue de la bibliothèque. Un point important à noter est que le avant de fermer L'événement du widget Dialogue est obsolète et remplacé par avantFermer afin qu'il suive la même convention d'appellation que les événements des autres composants.

Outre les bugs dans le code, plusieurs problèmes de style et d'accessibilité ont également été résolus; notamment le titre des widgets de dialogue ne peut plus disparaître derrière l'icône de fermeture, et la navigabilité du nouveau widget de bouton a été améliorée. Pour une liste complète de tous les correctifs de bogues inclus avec la version 1.8, voir le journal des modifications à l'adresse http://jqueryui.com/docs/Changelog/1.8rc1.


2.Positionnement

jQuery UI a maintenant un système de positionnement unique qui peut être utilisé chaque fois qu'un widget doit être positionné par rapport à un autre élément, par exemple avec un menu déroulant ou une info-bulle flottante. L'utilitaire Position nous permet de spécifier facilement, à l'aide d'une série de chaînes simples, quelle partie de l'élément positionné doit être fixée à quelle partie de l'élément cible spécifié. Ainsi, par exemple, le "en haut à gauche" point d'un élément peut être fixé à la "en bas à droite" d'un autre élément spécifié.

L'utilitaire comporte également un système de détection de collision robuste qui empêche les visiteurs de la page d'être exposés à des barres d'outils disgracieuses si l'élément en cours de positionnement s'approche trop du bord de la fenêtre d'affichage ou ne peut occuper autrement sa place..

L'API de cet utilitaire est compact, avec seulement 7 options configurables à ce stade. Cela nous donne cependant tout le contrôle dont nous avons besoin et nous permet de spécifier jusqu'à 81 combinaisons possibles de positionnement; Les options que nous pouvons configurer sont les suivantes:

à:
Fait référence à la position sur l'élément cible auquel l'élément en cours de positionnement sera fixé; la méthode accepte une seule chaîne composée de la valeur de l'axe horizontal (soit droite, centre, ou la gauche) suivi de la valeur de l'axe vertical (soit Haut, centre, ou bas). Il n'y a pas de caractère séparateur entre les 2 valeurs.
bgiframe:
Si le plug-in bgiframe est disponible sur la page, cette option appliquera un calque iframe à l'élément positionné, ce qui peut aider à empêcher la sélection d'éléments qui apparaissent au-dessus du contenu positionné dans IE6..
collision:
Cette option détermine la manière dont les collisions sont gérées. il accepte l'une des chaînes suivantes: retourner, en forme ou aucun. La valeur par défaut est retourner, ce qui amène l'élément positionné à inverser la position par rapport à l'élément cible, p. ex.. "centre droit" va devenir "centre gauche".
mon:
Fait référence à l'élément en cours de positionnement; accepte les mêmes valeurs que à.
de:
Accepte un sélecteur jQuery spécifiant l'élément cible.
décalage:
Spécifiez un nombre de pixels pour décaler l'élément en cours de positionnement sur l'élément cible.
en utilisant:
Une fonction de rappel peut être utilisée avec cette option, vous permettant d’animer le positionnement de l’élément..

3. Autocomplete

Un de mes widgets préférés est de retour dans l'interface utilisateur! Autocomplete était un widget bêta dans une version 1.6 de la bibliothèque et est maintenant de retour après un refactor complet. Il est associé aux entrées de texte de la page et fournit une liste de choix possibles lorsqu'un visiteur commence à taper dans le champ de texte..

Le widget peut extraire ses données (les éléments correspondants dans le menu de suggestion) de diverses sources, notamment un tableau JavaScript standard, JSON via une requête AJAX ou une fonction de rappel flexible pouvant implémenter toute source de données et renvoyer une réponse personnalisée à afficher. le menu de suggestion.

La saisie semi-automatique est un widget hautement configurable et dispose d'une API complète d'options, de méthodes et d'événements à utiliser. Il est complètement thématique via SteamRoller et entièrement navigable au clavier. Dans l'ensemble, ce composant apporte beaucoup de fonctionnalités à vos pages. À un moment donné, la mise en cache peut également être un comportement configurable.

Jetons un coup d'oeil à son API; il contient les trois options de configuration suivantes:

retard:
Nous pouvons spécifier le nombre de millisecondes que le widget doit attendre avant d'afficher le menu de suggestion lorsque le visiteur commence à saisir l'entrée..
Longueur minimale:
Cette option prend un entier qui fait référence au nombre de caractères à saisir dans l'entrée avant que le menu de suggestion ne soit affiché..
la source:
Nous configurons la source de données en utilisant cette option; les valeurs possibles incluent un tableau de chaînes représentant les éléments à afficher dans le menu de suggestion, ou un tableau d'objets dans lequel chaque objet contient deux propriétés - la première est l'étiquette affichée dans le menu de suggestion, la seconde est la valeur qui sera ajoutée à la saisie si un élément du menu de suggestion est sélectionné. Nous pouvons également fournir une seule chaîne représentant une ressource distante pouvant renvoyer les données de manière asynchrone, ou une fonction de rappel pouvant demander les données et les renvoyer au widget dans le format requis..

La saisie semi-automatique expose les deux méthodes suivantes:

Fermer:
Utilisé pour fermer le menu de suggestion.
chercher:
Effectuez une recherche des données disponibles et affichez les suggestions si le terme correspond. Peut prendre une valeur prédéfinie comme terme transmis à la méthode sous forme d'argument ou comme valeur du champ d'entrée auquel elle est associée.

Nous pouvons également associer des fonctions de rappel aux événements personnalisés suivants:

changement:
Déclenché après la sélection d'un élément du menu de suggestions et la fermeture du menu.
Fermer:
Renvoyé chaque fois que le menu de suggestion est fermé, qu'un élément ait été sélectionné ou non. Précède le changement un événement.
concentrer:
Cuite juste avant que l’attention soit donnée à un élément du menu de suggestion.
ouvrir:
Renvoyé une fois les données renvoyées, juste avant que le menu de suggestion ne soit affiché.
chercher:
Déclenché directement avant la recherche de la source de données. La recherche peut être annulée en retournant faux à partir d'une fonction de rappel liée à cet événement.
sélectionner:
Cet événement est déclenché lorsqu'un élément du menu avant la fermeture du menu.

En prime, le fichier source du widget de saisie semi-automatique contient également le widget Menu bêta, qui est toujours en cours de développement et doit être publié dans une version ultérieure de la bibliothèque. Jusqu'ici, cela semble être un ajout robuste et attrayant à la bibliothèque et nous permet de transformer une liste non ordonnée en un menu déroulant ou un menu déroulant attrayant. De nombreuses fonctionnalités sont prises en charge, notamment les sous-menus, les icônes, les séparateurs et même un menu détaillé avec le fil d'Ariane.


4. Bouton

Le widget bouton nous permet d'implémenter des boutons attrayants et fonctionnels pouvant être configurés pour se comporter comme un type de bouton particulier; Par exemple, nous pouvons créer des boutons-poussoirs standard, des boutons de style radio où un seul bouton d'un ensemble peut être sélectionné, ou des boutons de style de contrôle où un nombre quelconque d'un ensemble peut être sélectionné. Plusieurs types de boutons incorporant un simple menu déroulant peuvent également être créés..

C'est un widget très flexible et peut être construit en utilisant une variété d'éléments sous-jacents, y compris