Tengo un extraño problema con jQuery que se puede arrastrar esta mañana, me pregunto si alguien más se ha encontrado con esto.conjuntos arrastrables jQueryUI "posición: relativa" en mis divisores arrastrables
Tengo muchas pequeñas divisiones dentro de una 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 un 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?
EDIT:
Sólo se dio cuenta de que hay una respuesta bastante obvia mirándome 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í ;-)
¿Qué versión estás usando? ¿Y cómo lo estás inicializando? Draggable admite posicionamiento absoluto y relativo. Comprobando dos veces el código, de manera predeterminada, la única razón por la que debe establecerse en relativo es si no se establece ningún tipo de posición en el elemento. – Nal
Cheers Nal. Estoy usando 1.7.2. La posición se establece en la clase, no en el elemento, y sin el elemento que se puede arrastrar, puedo ver en el depurador de Chrome que se calculó "posición: absoluta". Y funciona. Cuando aplico el arrastrable a él, "position: relative" se aplica al elemento directamente. Esto puede ser un error jquery, donde debería estar usando getComputedStyle para encontrar la posición. –
Esa es una versión realmente antigua. Probablemente deberías actualizar a 1.8 y ver si eso hace la diferencia. ¿Estás utilizando la opción 'helper' draggable o alguna otra opción? Pero aún así, la única línea donde position: relative está establecida es [aquí] (https: // github.com/jquery/jquery-ui/blob/1.7/ui/ui.draggable.js # L19) – Nal