jQuery перетаскиваемые клоны сбрасываются в сортируемое, а затем теряют свое поведение - PullRequest
0 голосов
/ 03 ноября 2011

Это лучше объяснить в:

http://jsfiddle.net/tRBaV/1/

У меня есть два вида сущностей: контейнеры и инструменты.Контейнеры могут быть сортируемыми.Инструменты также могут сортироваться, но только в одном контейнере.

В верхней части находятся шаблоны для контейнеров и инструментов, которые можно перетаскивать с помощью пользовательской функции клонирования.Идея состоит в том, что пользователь может перетаскивать из этих шаблонов, создавать клон сущности и разрабатывать собственную компоновку контейнеров с инструментами.

В DOM уже есть два оригинальных контейнера.Они могут сортировать себя, перетаскивая инструменты в свои работы, и вы можете перетасовать их.Если вы клонируете контейнер, он также работает должным образом.

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

Чтобы воспроизвести, перейдите по ссылке выше: клонировать контейнер.Затем попробуйте клонировать инструмент во все контейнеры.Вы видите, что это не позволяет на клонированном контейнере.

Я пытался вызвать событие обновления для сортируемых элементов, уничтожить и воссоздать draggables и sortables, но безуспешно.Кажется, что клонированный контейнер не имеет тех же данных, что и DOM-контейнеры, но как мне убедиться, что он работает правильно?

Спасибо, ребята.

1 Ответ

1 голос
/ 03 ноября 2011

Я не стал пытаться отладить ваш пример, так как он не был достаточно универсальным.Однако я попытался воссоздать вашу проблему.

Ознакомьтесь с моим решением здесь

Я, как и вы, не смог получить комбинацию receive, stop или drop события для обновления недавно удаленного контейнера.Вероятно, это проблема, которая должна быть поднята с ребятами из jQuery UI.

Итак, хотя это и не элегантно, я использовал метод грубой силы: уничтожить сортируемое и повторно инициализировать и его, иКоллекция инструментов.

Не идеальное решение, но оно работает.Надеюсь, ты сможешь использовать это.

...