L'interazione droppable è strettamente collegata a draggable e insieme concorrono al paradigma del drag'n'drop ormai molto diffuso sul web.
Sintetizzando il concetto, droppable realizza il contenitore in cui gli elementi trascinabili possono essere rilasciati.
In jQuery UI questa interazione è richiamata dal metodo .droppable():
$("#dropbox").droppable();
Le opzioni principali che possono essere passate a .droppable() (sempre attraverso un oggetto JavaScript) sono:
'*')"#lista div" oppure una funzione da applicare sull'elemento trascinato e che deve restituire true perché questo venga accettato. Di default ogni elemento può essere rilasciato nel contenitore.false)true previene la propagazione dell'evento di rilascio agli elementi annidati nel contenitore. Questo significa che un elemento risulterà aggiunto al contenitore solo se rilasciato direttamente al suo interno, ma non all'interno di eventuali figli.'default')'intersect')fit: tutto l'elemento trascinato è sopra al contenitoreintersect: almeno metà dell'elemento è sopra il contenitorepointer: il mouse è nel contenitoretouch: appena l'elemento tocca il contenitore. Questa opzione è molto importante per quanto riguarda l'esperienza utente, in quanto da essa dipende l'usabilità dell'interazione. In realtà nessuna di esse è più indicata dell'altra, ma tutto dipende dalle dimensioni degli elementi trascinati e dalla distanza fra il punto di inizio e fine del trascinamento.
Ad esempio, intersect è un buon compromesso solo nel caso in cui l'oggetto trascinato non sia troppo grande, mentre touch potrebbe attivare l'interazione troppo presto rendendo l'interfaccia imprecisa.
Come per .draggable(), è possibile associare una funzione di callback ad alcuni eventi durante l'interazione. Tutte le funzioni accettano due argomenti: l'evento e un oggetti ui con le seguenti chiavi:
{ top: , left: }.{ top: , left: }.Gli eventi a cui è possibile associare una funzione sono:
.draggable() viene trascinato o rilasciato. Può risultare utile per evidenziare l'area di rilascio solo quando un oggetto viene trascinato per mantenere più pulita l'interfaccia. tollerance), ne esce oppure vi viene rilasciato.Su questa pagina è possibile vedere alcuni esempi del metodo in azione.
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |