jQuery .sortable () клонирует элементы, когда это не должно - PullRequest
1 голос
/ 12 января 2012

Я недавно добавил на свой веб-сайт функцию списка воспроизведения, с помощью которой пользователь может перетаскивать доступные дорожки в список воспроизведения.

С помощью jQuery UI 1.8 все работало нормально, пока я не заметил странное поведение: сортируемая единственная сторона клонирует объекты при сортировке.Позвольте мне объяснить основную структуру, а затем я свяжу скрипку.

  • Есть два родительских элемента: #available-tracks-wrapper и #playlist-wrapper.
  • Пользователь может перетащить с #available-tracks-wrapper слева и перейдите в #playlist-wrapper справа.
  • Пользователь может затем сортировать дорожки по своему желанию внутри #playlist-wrapper.

Проблема:

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

Вот моя скрипка ,Я прошу прощения за отсутствующие изображения и т. Д.Но элементы, необходимые для воспроизведения поведения, все еще присутствуют.

Я просмотрел документы в поисках опции или метода, которые не позволяют этому поведению безрезультатно.Однако я заметил это:

Позволяет сортировать группу элементов DOM.Нажмите и перетащите элемент на новое место в списке, и другие элементы подгонятся под него. По умолчанию сортируемые элементы имеют перетаскиваемые свойства .

Так что я отключил helper:'clone' в #available-tracks-wrapper, который действительно удалял поведение клонирования, но приводил к ухудшению поведения в другихобластей.

Далее я подумал просто создать функцию при запуске или остановке для удаления предыдущего элемента, но динамическое нацеливание оказалось бы проблемой, так как this или event.target всегда является родителем #playlist-wrapper а не сами элементы.

Спасибо всем, что взглянули на это.Я полагаю, что это просто то, что я упускаю из виду из-за своей няньки.

...