2011-08-19 13 views
11

Sto tentando di scrivere alcuni test Javascript front-end in grado di testare la funzionalità di trascinamento della versione JQuery UI sortable list che sto utilizzando nella mia app Web. Tuttavia, ho riscontrato un problema in quanto l'elenco ordinabile dell'interfaccia utente JQuery non sembra rispondere agli eventi simulati del mouse.Test Javascript per simulare il trascinamento per gli elenchi ordinabili dell'interfaccia utente JQuery

Ho provato un certo numero di tecniche per testarlo, ma alla fine ho trovato lo stesso simulation plugin di JQuery che sembra fornire la funzionalità di cui ho bisogno. Tuttavia, quando eseguo le simulazioni, l'elenco ordinabile non risponde all'evento di trascinamento, tuttavia altri componenti come Draggable rispondono.

Questo può essere dimostrato molto facilmente con il simple drag simulation example che ho messo insieme. In questo esempio ho incorporato il plugin jquery.simulate ma ho modificato la funzione di trascinamento per rallentare gli eventi che sta sparando in modo da poter vedere visivamente cosa sta succedendo. Come vedrai, il plugin di simulazione sposta correttamente la voce 1 dell'elenco tra gli articoli 3 e 4, eppure quando l'evento mouseup viene attivato, l'elemento torna alla sua posizione originale invece di riordinare la lista. Sospetto che ci debba essere un altro evento che la libreria dell'interfaccia utente di JQuery sta cercando, ma sfortunatamente non sono riuscito a trovarlo.

Si prega di andare a http://jsbin.com/efuyef/7/edit#javascript,live per vedere l'esempio in cui il trascinamento elenco ordinabile non riesce. Basta aggiornare la pagina per far funzionare nuovamente la simulazione.

Qualcuno ha qualche idea su come posso simulare correttamente l'evento di trascinamento su una lista ordinabile? Il tuo aiuto sarebbe apprezzato.

+1

Ran nello stesso problema con jquery.simulate non è in grado di trascinare generi. Grazie per averlo portato. Stavo già iniziando a dubitare della mia sanità mentale ... – kangax

risposta

20

Dopo molte ricerche in rete, non ho trovato alcuna soluzione a questo problema, quindi sono andato avanti e ho sviluppato la mia soluzione.

Scopri i repository GitHub per il mio plugin per jQuery jquery.simulate.drag-sortable.js

Se avete dei problemi con questo, si prega di fare scrivere un test per replicare il problema e forchetta del progetto o sollevare una questione di Github.

+3

Oh uomo, hai appena fatto la mia giornata. Ho anche avuto lo stesso problema con ordinabile e jquery.simulate. Grazie per questo! – mynameistechno

Problemi correlati