Esta es una situación en la que espero que alguien responda me dicen que soy un idiota. Pero me sigue asombrando que jQueryUI arrastre\drop no funciona con dispositivos táctiles. No he probado todos, pero he tratado de iphone\ipad\android 2, 3&4 durante el último año y nada. Sólo probamos la versión más reciente en un nuevo Android. Todavía nada. No me crees, sólo tienes que visitar la página de demostración en un dispositivo móvil, y tratar de usar el arrastre\caída de ejemplos. Nada.

Hay un problema técnico o núcleo de incompatibilidad en juego aquí? Una solución tan fácil que no vale la pena escribir sobre? ¿JQuery devs no el uso de dispositivos móviles? He visto «corrige» publicado aquí y allá alrededor de Desbordamiento de Pila, pero todos ellos son «hacks» y de todos los que he probado no funcionan.

Estoy perplejo. Alguien puede arrojar algo de luz sobre este tema?

  • Creo que es más un problema de público objetivo. jQuery UI, que no fue escrito originalmente para manejar los dispositivos móviles. Ni siquiera se jugar muy bien con jQuery Mobile. algunas partes de ella todavía puede funcionar bien en dispositivos móviles, pero cualquier cosa que tenga algo que ver con arrastrar fallará.
InformationsquelleAutor Brian | 2012-12-18

3 Comentarios

  1. 67

    Si desea que sus actuales jQuery UI código para trabajar con eventos de toque, puede utilizar el jQuery interfaz de usuario Táctil Punch mono parche.

    El único «problema técnico o núcleo de incompatibilidad» es que la interfaz de usuario jQuery (1.x) sólo escucha los eventos de ratón, que no toque eventos (Ver @ScottGonzales la respuesta de la razón histórica). jQuery toque punch, anteriormente, hace que el cambio. Usted puede incluso probar algunos de la interfaz de usuario jQuery ejemplos en esa página, y funcionan. En general, el uso del Tacto Punch es el actualmente aceptado solución.

    • «Toque monkey Punch patch» sonidos
    • No es la mejor solución: si el elemento de arrastre se lleva todo el área de visualización, el uso de jQuery interfaz de usuario Táctil Punch impide que el documento a ser desplazado. Puede ser incluso un problema con el elemento que desea ser sólo la posibilidad de arrastrar horizontalmente con un contenedor de ocultar desbordamiento, como la posibilidad de arrastrar carrusel. En este caso, el carrusel impide que el usuario pueda desplazarse por el documento arriba y abajo. Yo prefiero jQuery Touch (github.com/ajlkn/jquery.touch) lo que hace que la posibilidad de arrastrar posiblemente toque sólo en el móvil (gesto de ratón puede ser filtrada) y no prevenir eventos de toque para propagar (por lo tanto, el documento a ser desplazado).
    • Tu comentario podría ser una excelente alternativa de respuesta a esta pregunta! Tenga en cuenta que jquery.toque no existen en 2012, cuando originalmente respondió a esta >_<
  2. 30

    Hay una larga historia detrás de por qué jQuery interfaz de usuario no soporta dispositivos táctiles, pero todo se reduce al hecho de que Toque el Evento fue un no-estándar WebKit-implementación específica. En el momento en que el futuro se veía triste. Apple celebró patentes que nadie quería ir cerca; como resultado, Mozilla puesto en marcha su propio toque en el sistema de eventos con los arroyos que nunca prendió. No estaba claro qué Microsoft y Opera haría. Paul Bakaus (el creador de jQuery UI) quería a la tierra soporte de iPhone 4 años. Yo quería esperar un estándar oficial.

    Tiempo pasado, Mozilla abandonado sus eventos de toque y Microsoft implementó su propio puntero de eventos del sistema. El W3C creó un Grupo de Trabajo para estandarizar Eventos de Toque y de investigar el las patentes de Apple. El Toque Eventos de Grupo de Trabajo ha publicado una recomendación y se disolvió. Microsoft finalmente ha presentado una propuesta para estandarizar los Eventos de Puntero y ahora hay una W3C Eventos de Puntero del Grupo de Trabajo.

    Actualmente estamos trabajando en un independiente del dispositivo de reescritura de todos jQuery UI interacciones que será parte de jQuery UI 2.0. Hasta entonces, usted puede utilizar jQuery interfaz de usuario Táctil Punch.

    A principios de este año, escribí sobre parte de la historia en torno a Eventos de Toque y por qué los Eventos de Puntero de proveer un mejor futuro. Usted puede leer acerca de ello en el jQuery blog.

    • Las actualizaciones sobre este tema?
    • No es la mejor solución: si el elemento de arrastre se lleva todo el área de visualización, el uso de jQuery interfaz de usuario Táctil Punch impide que el documento a ser desplazado. Puede ser incluso un problema con el elemento que desea ser sólo la posibilidad de arrastrar horizontalmente con un contenedor de ocultar desbordamiento, como la posibilidad de arrastrar carrusel. En este caso, el carrusel impide que el usuario pueda desplazarse por el documento arriba y abajo. Yo prefiero jQuery Touch (github.com/ajlkn/jquery.touch) lo que hace que la posibilidad de arrastrar posiblemente toque sólo en el móvil (gesto de ratón puede ser filtrada) y no prevenir eventos de toque para propagar (por lo tanto, el documento a ser desplazado).
  3. 0

    Retirar jQTouch

    Es un plugin de jQuery que ayuda a salvar el evento brechas entre el escritorio y los dispositivos táctiles.

    • Parece suspendido, verificación de jQuery Touch (github.com/ajlkn/jquery.touch).

Dejar respuesta

Please enter your comment!
Please enter your name here