Мне пришлось вызывать destroy перед добавлением элементов, а затем повторно инициализировать (перейдя в функцию setup). Кажется, это проблема jQuery, и, возможно, ее можно обойти с помощью try catch в пользовательском интерфейсе jQuery.
Это было с
Какие последние пользовательские интерфейсы jQuery и jQuery доступны в CodePen. Это код высокого уровня.
$('.list-items').sortable("destroy"); // note the destroy before adding
$('.list-all:last-of-type').after( newItemDOM() );
$('.board').width( (300*(numLists()+1))+20 );
$('.board').sortable("refresh");
setupItemSort(jQuery); // where I initialize my item sorting with options.
Обратите внимание, что у меня есть сортируемые списки, а также элементы списка. Только элементы списка оказались проблемой для вызова обновления, что привело к ошибке, при которой к элементам нужно было добавить сортируемую информацию.
Я полагаю, что есть и другой способ обойти, хотя YMMV должен был бы передать селектор в сортируемое init и попробовать только с новым DOM перед связыванием. Предполагая, что пользовательский интерфейс jQuery оценивает параметр connectWith
каждый раз, когда вы запускаете dragStart, это было бы приемлемо, но я действительно просто хотел быстрого решения и уничтожения, а затем init для всех элементов.