example - Cómo obtener jQueryUI drag / drop trabajando con dispositivos táctiles
sortable jquery ejemplos (3)
Echa un vistazo a jQTouch
Es un complemento de jQuery que ayuda a cerrar las brechas de eventos entre el escritorio y los dispositivos táctiles.
Esta es una situación en la que espero que alguien responda para decirme que soy un idiota. Pero sigo asombrado de que jQueryUI drag / drop no funcione con dispositivos táctiles. No los he probado todos pero he probado iphone / ipad / android 2, 3 y 4 en el último año y nada. Acabo de probar la última versión en un nuevo Android. Aún nada. No me crean, solo visiten la página de demostración en un dispositivo móvil e intenten usar los ejemplos de arrastrar y soltar. Nada.
¿Hay algún problema técnico o incompatibilidad central en juego aquí? ¿Una solución tan fácil que no vale la pena escribir sobre ella? ¿Los desarrolladores de jQuery no usan dispositivos móviles? He visto "correcciones" publicadas aquí y allá en Stack Overflow, pero todas son "hacks" y todas las que he probado no funcionan.
Estoy perplejo. ¿Alguien puede arrojar algo de luz sobre este tema?
Hay una larga historia detrás de por qué jQuery UI no admite dispositivos táctiles, pero se reduce al hecho de que Touch Event era una implementación no estándar de WebKit específica. En ese momento, el futuro parecía triste. Apple tenía patentes que nadie quería acercarse; como resultado, Mozilla implementó su propio sistema de eventos táctiles con transmisiones que nunca alcanzaron. No estaba claro qué harían Microsoft y Opera. Paul Bakaus (el creador de jQuery UI) quería obtener soporte para iPhone hace 4 años . Yo quería esperar a un estándar oficial.
Pasó el tiempo, Mozilla abandonó sus eventos táctiles y Microsoft implementó su propio sistema de eventos de puntero. El W3C formó un Grupo de Trabajo para estandarizar Touch Events e investigar las patentes de Apple. El Grupo de trabajo de Touch Events publicó una recomendación y se disolvió. Finalmente, Microsoft presentó una propuesta para estandarizar los eventos del puntero y ahora existe un grupo de trabajo de eventos del puntero del W3C.
Actualmente estamos trabajando en una reescritura independiente del dispositivo de todas las interacciones de jQuery UI que formarán parte de jQuery UI 2.0. Hasta entonces, puedes usar jQuery UI Touch Punch .
A principios de este año, escribí sobre la historia de Touch Events y por qué los Pointer Events ofrecen un futuro mejor. Puedes leer sobre esto en el blog jQuery .
Si solo desea que su código actual de la interfaz de usuario jQuery funcione con eventos táctiles, puede usar el parche de jQuery UI Touch Punch .
El único "problema técnico o incompatibilidad principal" es que jQuery UI (1.x) solo escucha los eventos del mouse, no los eventos (Consulte la respuesta de @ ScottGonzales por el motivo histórico). jQuery Touch Punch, arriba, hace ese cambio. Incluso puedes probar algunos de los ejemplos de la interfaz de usuario jQuery en esa página, y funcionan. En general, usar Touch Punch es la solución actualmente aceptada.