Cosa è cambiato in jQuery UI 1.8 - Plus libri gratuiti!

jQuery UI 1.8 è attualmente in fase di rilascio del candidato e, salvo la scoperta di un grosso bug o difetto, diventerà presto l'attuale versione stabile della libreria UI ufficiale di jQuery. Quindi cosa è cambiato dall'ultima versione stabile corrente della 1.7.2? Una delle principali differenze è ovviamente che la libreria ora gira sull'ultima release di jQuery stessa - versione 1.4.1, ma ci sono stati molti altri cambiamenti tra cui l'aggiunta di alcuni nuovi componenti, che esamineremo oltre corso di questo articolo.


Copie gratuite di jQuery UI 1.7

L'autore di questo articolo, Dan Wellman, ha recentemente rilasciato jQuery UI 1.7, da Packt Publishing. È una lettura fantastica, e sono lieto di annunciare che abbiamo una manciata di copie da distribuire casualmente. Lascia semplicemente un commento sull'articolo e verrai automaticamente inserito nel disegno. Controlla di nuovo lunedì per scoprire se sei un vincitore!


1. Bug Zapping

Questa versione della libreria offre diverse correzioni di bug per alcuni componenti chiave, inclusi i widget Datepicker e Dialog e gli helper di interazione Droppable, Resizable e Selectable. Nessuno dei bug era di tipo show-stop, ma comunque, eliminare gli errori è una parte fondamentale della progressione in corso della libreria. Un punto importante da notare è che il BeforeClose l'evento del widget Dialog è stato deprecato e sostituito con BeforeClose in modo che segua la stessa convenzione di denominazione degli eventi di altri componenti.

Oltre ai bug nel codice, sono stati affrontati anche diversi problemi di stile e accessibilità; in particolare il testo del titolo dei widget di dialogo non può più scomparire dietro l'icona di chiusura e la navigabilità della tastiera del nuovo widget di pulsanti è stata migliorata. Per un elenco completo di tutte le correzioni di bug incluse nella versione 1.8, vedere il registro delle modifiche all'indirizzo http://jqueryui.com/docs/Changelog/1.8rc1


2.Positioning

L'interfaccia utente di jQuery ora dispone di un sistema di posizionamento unico che può essere utilizzato ogni volta che un widget deve essere posizionato rispetto a un altro elemento, ad esempio con un menu a discesa o un suggerimento mobile. L'utility Position ci consente di specificare facilmente, usando una serie di stringhe semplici, quale parte dell'elemento posizionato dovrebbe essere fissata a quale parte dell'elemento target specificato. Quindi per esempio, il "in alto a sinistra" punto di un elemento può essere fissato al "in basso a destra" di un altro elemento specificato.

L'utility dispone anche di un robusto sistema di rilevamento delle collisioni che impedisce agli spettatori della pagina di essere esposti a brutte barre degli strumenti se l'elemento posizionato si avvicina troppo al bordo del viewport o non può occupare altrimenti il ​​suo posto posizionato.

L'API per questa utility è compatta, con solo 7 opzioni configurabili in questa fase. Questo ci dà comunque tutto il controllo di cui abbiamo bisogno e ci consente di specificare fino a 81 possibili combinazioni di posizionamento; le opzioni che possiamo configurare includono quanto segue:

a:
Si riferisce alla posizione sull'elemento di destinazione in cui verrà fissato l'elemento posizionato; il metodo accetta una singola stringa comprendente il valore per l'asse orizzontale (entrambi destra, centro, o sinistra) seguito dal valore per l'asse verticale (entrambi superiore, centro, o parte inferiore). Non esiste un carattere di separazione tra i 2 valori.
bgiframe:
Se il plug-in bgiframe è disponibile nella pagina, questa opzione applicherà uno shif iframe all'elemento posizionato, che può aiutare a prevenire la selezione di elementi sopra il contenuto posizionato in IE6.
collisione:
Questa opzione determina come vengono gestite le collisioni; accetta una delle seguenti stringhe: Flip, in forma o nessuna. L'impostazione predefinita è Flip, che fa sì che l'elemento sia posizionato per invertire la posizione relativa all'elemento bersaglio, ad es. "centro giusto" diventerà "centro sinistra".
mio:
Si riferisce all'elemento posizionato; accetta gli stessi valori di a.
di:
Accetta un selettore jQuery che specifica l'elemento di destinazione.
compensare:
Specificare un numero di pixel per sfalsare l'elemento posizionato sull'elemento di destinazione.
utilizzando:
Una funzione di callback può essere utilizzata con questa opzione che consente di animare il posizionamento dell'elemento.

3. Completamento automatico

Uno dei miei widget preferiti è tornato come componente dell'interfaccia utente ufficiale! Il completamento automatico era un widget beta in una versione 1.6 della libreria e ora è tornato dopo un refactoring completo. È collegato agli input di testo sulla pagina e fornisce un elenco di possibili scelte quando un visitatore inizia a digitare nel campo di testo.

Il widget può prendere i suoi dati (gli elementi corrispondenti nel menu dei suggerimenti) da una varietà di fonti tra cui un array JavaScript standard, JSON tramite una richiesta AJAX o una funzione di callback flessibile che può implementare qualsiasi origine dati e restituire una risposta personalizzata da visualizzare in il menu dei suggerimenti.

Il completamento automatico è un widget altamente configurabile e include un'API completa di opzioni, metodi ed eventi da utilizzare. È completamente modificabile tramite SteamRoller e tastiera completamente navigabile. Tutto sommato, questo componente offre molte funzionalità alle tue pagine. In alcuni casi futuri il caching potrebbe anche essere un comportamento configurabile.

Diamo un'occhiata alla sua API; contiene le seguenti tre opzioni di configurazione:

ritardo:
Possiamo specificare il numero di millisecondi che il widget deve attendere prima di visualizzare il menu dei suggerimenti quando il visitatore inizia a digitare nell'input.
minLength:
Questa opzione accetta un numero intero che si riferisce al numero di caratteri da digitare nell'input prima che venga visualizzato il menu dei suggerimenti.
fonte:
Configuriamo l'origine dati usando questa opzione; i possibili valori includono una serie di stringhe che rappresentano gli oggetti da mostrare nel menu dei suggerimenti o una serie di oggetti in cui ogni oggetto contiene due proprietà: la prima è l'etichetta mostrata nel menu dei suggerimenti, la seconda è il valore che verrà aggiunto a l'input se è selezionato un elemento nel menu dei suggerimenti. Possiamo anche fornire una singola stringa che rappresenta una risorsa remota che può restituire i dati in modo asincrono o una funzione di callback che può richiedere i dati e restituirli al widget nel formato richiesto.

I seguenti due metodi sono esposti da Completamento automatico:

vicino:
Utilizzato per chiudere il menu dei suggerimenti.
ricerca:
Eseguire una ricerca dei dati disponibili e visualizzare i suggerimenti se il termine è abbinato. Può assumere un valore predefinito come il termine che viene passato nel metodo come argomento o il valore del campo di input a cui è associato.

Possiamo anche collegare le funzioni di callback ai seguenti eventi personalizzati:

modificare:
Attivato dopo aver selezionato un elemento nel menu dei suggerimenti e chiuso il menu.
vicino:
Attivato quando il menu dei suggerimenti è chiuso, indipendentemente dal fatto che sia stato selezionato o meno un elemento. Precede il modificare evento.
messa a fuoco:
Attivato direttamente prima di mettere a fuoco un oggetto nel menu dei suggerimenti.
Aperto:
Fired una volta che i dati sono stati restituiti, direttamente prima che venga visualizzato il menu dei suggerimenti.
ricerca:
Attivato direttamente prima della ricerca dell'origine dati. La ricerca può essere annullata restituendo falso da una funzione di callback associata a questo evento.
selezionare:
Questo evento viene attivato quando un elemento del menu prima della chiusura del menu.

Come bonus speciale, il file di origine per il widget di completamento automatico contiene anche il widget del menu beta, che è ancora in fase di sviluppo e deve essere rilasciato in una versione successiva della libreria. Finora sembra un'aggiunta robusta e attraente alla biblioteca e ci consente di trasformare una lista non ordinata in un attraente menù a tendina o a tendina. Sono supportate molte funzionalità tra cui sottomenu, icone, divisori e persino un menu di approfondimento con breadcrumb.


4. Pulsante

Il pulsante widget ci consente di implementare pulsanti attraenti e funzionali che possono essere configurati per comportarsi come un particolare tipo di pulsante; ad esempio, possiamo creare pulsanti standard, pulsanti stile radio in cui è possibile selezionare un solo pulsante in un set o pulsanti stile check in cui è possibile selezionare qualsiasi numero in un determinato set. Diversi tipi di pulsanti che incorporano un semplice menu a discesa possono anche essere creati.

È un widget molto flessibile e può essere costruito utilizzando una varietà di elementi sottostanti tra cui