2011-12-04 20 views
8

Sto creando un'interfaccia utente che include tipi di file, in cui sono presenti elementi di elenco trascinabili. Ecco un violino di esso:Sortable & droppable, droppable non si aggiornano, quando DOM fa?

http://jsfiddle.net/NRkwx/

Il problema è questo: quando si avvia l'ordinamento, e spostare la voce di elenco in giro, i droppables si muovono troppo, ma l'area che sono droppable a non lo fa . Puoi vederlo spostando alcuni elementi della lista. Noterai che, se ad es. il droppable si muove di un gradino verso l'alto, puoi lasciarlo cadere dalla sua posizione originale, non da dove effettivamente risiede.

Come è possibile aggiornare l'area trascinabile? Devo rimuovere il droppable e aggiungerlo su sortable change?

risposta

12

Soluzione trovata! Stavo attraversando la fonte jQuery UI, ed ho trovato questo:

//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. 
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event); 

Poi ho aggiunto questa opzione per il mio sortable:

refreshPositions: true 
Problemi correlati