jquery-ui - traduccion - droppable jquery
jQueryUI draggable establece "position: relative" en mis divs arrastrables (2)
Estoy teniendo un problema extraño con jQuery arrastrable esta mañana, me pregunto si alguien más se ha encontrado con esto.
Tengo muchos pequeños divs dentro de un div grande. Están absolutamente posicionados: "posición: absoluta" en CSS para su clase, con la posición real calculada y configurada en JS on demand.
Ahora estoy agregando funcionalidad para permitir que estos divs sean arrastrables.
Pero, tan pronto como hago uno arrastrable, se le da "posición: relativa" directamente en el elemento, que como se puede imaginar, arruina seriamente la posición en pantalla.
¿Alguien sabe por qué cambia la "posición" de esta manera o cómo decir que no?
EDITAR:
Me acabo de dar cuenta de que hay una respuesta bastante obvia que me mira a la cara: importante en mi posición: ¡absoluta! Esto parece arreglarlo. PERO sigo interesado si alguien sabe por qué establece "posición: relativa" de esta manera (y no lo hace configurable o verifica primero si necesita posición) ... Me pregunto qué problemas acabo de almacenar para mí ;-)
También me pasó a mí, pero solo en Chrome. ¿Razón?
Fue así:
$("#div-popup").draggable({ handle: ".top", containment: ''document''});
Luego eliminé el parámetro de contención , así:
$("#div-popup").draggable({ handle: ".top"});
Por lo tanto, se trata del navegador (Chrome en este caso), que establece la posición en relativa cuando se especifica qué contención el elemento será arrastrable.
"Me encontré con el mismo problema hoy. La razón era que estaba aplicando draggable()
en un elemento creado dinámicamente. Estaba ''más tarde'' anexándolo a dom
. El elemento debería estar en dom
cuando apliques draggable()
(si el estilo es siendo aplicado por una clase). En resumen, cuando no encuentra ninguna posición asociada con el element
, agrega relative
". - Jashwant
Firs do: .append(jElement)
Then: jElement.draggable()
Por alguna razón, Jashwant puso su respuesta en el comentario a la pregunta. Así que pensé que sería conveniente para otros publicarlo aquí.