После добавления элементов в набор через jQuery UI draggable, jQuery UI sortable должен быть повторно инициализирован на обновленных элементах для обеспечения правильной функциональности перетаскивания и сортировки.
jQuery UI draggable и sortable - это два отдельных плагина, и они должны быть инициализированы независимо друг от друга. Если вы добавили новые элементы в набор с использованием draggable, это не автоматически инициирует sortable для этих элементов.
Для повторной инициализации jQuery UI sortable вам нужно выполнить несколько шагов:
1. Создайте новый метод или функцию, которая будет выполнять повторную инициализацию sortable. Вы можете назвать этот метод "refreshSortable" либо используйте любое другое название, которое вам нравится.
function refreshSortable() { $("#sortable").sortable({ // настройки sortable }); }
2. Вызовите этот метод после добавления новых элементов в набор с использованием draggable. Например, внутри обработчика события события остановки перетаскивания элемента.
$("#draggable").draggable({ stop: function(event, ui) { // Ваш код для добавления элементов refreshSortable(); // Повторно инициализируйте sortable после добавления элементов. } });
3. Теперь, при каждом вызове метода refreshSortable, jQuery UI sortable будет повторно инициализирован для всех элементов в наборе, что позволит правильно работать с перетаскиванием и сортировкой.
Обратите внимание, что весь код примера должен быть выполнен, когда документ полностью загружен, чтобы убедиться, что элементы и плагины полностью инициализированы.
Однако, если вы используете более новую версию jQuery UI, вы можете использовать метод "refresh" вместо перезапуска sortable:
$("#sortable").sortable("refresh");
Этот метод обновляет плагин sortable, чтобы он определенным образом обработал новые или обновленные элементы, добавленные в набор.