2011-08-19 9 views
11

Estoy tratando de escribir algunas pruebas de JavaScript que pueden probar la funcionalidad de arrastrar y soltar del JQuery UI sortable list que estoy usando en mi aplicación web. Sin embargo, me he topado con un problema porque la lista ordenable de JQuery UI no parece responder para simular eventos de mouse.Prueba de Javascript para simular arrastre para JQuery UI listas ordenables

Probé varias técnicas para probar esto, pero al final encontré el propio simulation plugin de JQuery que parece proporcionar la funcionalidad que necesito. Sin embargo, cuando ejecuto las simulaciones, la lista ordenable no responde al evento de arrastre, sin embargo, otros componentes como Draggable responden.

Todo esto se puede demostrar muy fácilmente con el simple drag simulation example que armé. En este ejemplo, he integrado el plugin jquery.simulate pero modifiqué la función de arrastre para ralentizar los eventos que está disparando para que pueda ver visualmente lo que está sucediendo. Como verá, el plugin de simulación mueve correctamente el Elemento 1 de la Lista entre los elementos 3 y 4, pero cuando se dispara el evento mouseup, el elemento simplemente vuelve a su posición original en lugar de reordenar la lista. Sospecho que debe haber otro evento que la biblioteca JQuery UI esté buscando, pero desafortunadamente no he podido encontrarlo.

Vaya al http://jsbin.com/efuyef/7/edit#javascript,live para ver el ejemplo en el que falla el arrastre de la lista ordenable. Simplemente actualice la página para que la simulación vuelva a ejecutarse.

¿Alguien ha tenido alguna idea de cómo puedo simular correctamente el evento de arrastre en una lista ordenable? Tu ayuda será apreciada.

+1

Se produjo el mismo problema con jquery.simulate que no puede arrastrar sortables. Gracias por mencionar esto. Ya empezaba a dudar de mi cordura ... – kangax

Respuesta

20

Después de mucho buscar por la web, no encontré ninguna solución a este problema, así que he avanzado y desarrollado mi propia solución.

descargar el repositorio Github para mi plugin de jQuery jquery.simulate.drag-sortable.js

Si encuentra algún problema con esto, por favor, escribir una prueba a reproducir el problema y el tenedor del proyecto o plantear un problema en Github.

+3

Oh hombre que acabas de alegrarme el día. También tuve el mismo problema con sortable y jquery.simulate. ¡Gracias por esto! – mynameistechno

Cuestiones relacionadas