Подтвердить что ты не робот

JQueryUI draggable устанавливает "position: relative" на мои перетаскиваемые divs

У меня возникла странная проблема с jQuery, перетаскиваемым сегодня утром, интересно, кто-нибудь еще встретил это.

У меня много маленьких div внутри большого div. Они абсолютно позиционируются: "позиция: абсолютная" в CSS для своего класса, причем сама фактическая позиция рассчитывается и устанавливается в JS по требованию.

Теперь я добавляю функциональность, позволяющую перетаскивать эти divs.

Но, как только я делаю один перетаскиваемый, ему присваивается "позиция: относительная" непосредственно на элементе, что, как вы можете себе представить, серьезно помешает позиции на экране.

Кто-нибудь знает, почему он меняет "позицию" как это или как сказать это не?

EDIT:

Только что понял, что есть довольно очевидный ответ, который смотрит мне в лицо - важно мое положение: абсолютное! Кажется, это исправить. НО меня все еще интересует, если кто-нибудь знает, почему он устанавливает "позицию: относительный", как это (и не делает его ни настраиваемым, ни первым, если требуется место)... Мне интересно, какие проблемы я только что сохранил для себя; -)

4b9b3361

Ответ 1

"Я столкнулся с той же проблемой сегодня. Причина в том, что я применял draggable() к динамически создаваемому элементу. Я" позже "добавлял его к dom. Элемент должен быть в dom, когда вы применяете draggable() (если стиль применяется классом). Короче говоря, когда он не находит положения, прикрепленного к element, он добавляет relative." - Джашвант

Firs do: .append(jElement) Затем: jElement.draggable()

По какой-то причине Джашвант поставил свой ответ в комментарии к вопросу. Поэтому я подумал, что было бы удобно другим, чтобы отправить его здесь.

Ответ 2

Это также случилось со мной, но только в Chrome. Причина?

Это было так:

$("#div-popup").draggable({ handle: ".top", containment: 'document'});

Затем я удалил параметр сдерживания, например:

$("#div-popup").draggable({ handle: ".top"});

Итак, это о браузере (в данном случае Chrome), который устанавливает позицию Relative, когда вы указываете, какая оболочка будет перетаскиваться.