Я бы хотел прокомментировать несколько вещей: -
1) Когда вы «перемещаете» элемент, вы перемещаетесь больше, чем намеревались - перемещенный элемент имеет вокруг себя «tbody» - ваш код очень хрупок, в зависимости от parent.parent ... который будет кошмар для поддержания.
2) У вас есть различные конструкции parent.parent - потеряйте этот переключатель на '.closest ()', чтобы найти дерево в классе элементов, с которыми вы хотите работать.
3) Вы делаете вещи с привязкой / отменой привязки - потеряете их и переключитесь на '$ (document.body) .on (, ...)', тогда jquery автоматически добавит / удалит события на основе вашей селекторной ссылки - один раз и забудь.
Как только это будет сделано, ошибки могут исчезнуть - если нет, то все равно будет понятнее, поэтому можно будет правильно отлаживать!
Привет
пс. Если бы это был я, я бы связал два списка, чтобы они могли быть отсортированы вместе, и переключил бы флаг завершения, если элемент перемещен из одного списка в другой.
Таким образом, у пользователя есть два способа изменить статус, и jquery выполнит всю работу с ослом, поскольку вы просто сортируете обычный связанный список.