Вы всегда должны использовать draggable (). Я бы предложил придерживаться ответа FishBasket и просто сделать это.
Причина, по которой вы должны сделать это снова, заключается в том, что это поведение, а не содержание. Так что это делается с помощью JS, а не HTML. Сохранение HTML не поможет вам, и вы не сможете «сохранить» выполнение JS - вам просто нужно запустить его снова.
Если вы мазохист, вы можете сделать это коллективно для всех ваших перетаскиваемых объектов на странице, используя живое событие / делегат при наведении курсора мыши. Но я бы не советовал использовать наведенное курсор мыши, поскольку это касается производительности для старых браузеров.
$(document).delegate('selectorForDraggables', 'mouseover', function() {
var $this = $(this);
$this.data('isDraggable') || $this.draggable().data('isDraggable', true);
});
Это задержит перетаскиваемый вызов для элемента, пока вы не наведите курсор мыши на этот элемент. Проблема в том, что теперь вы должны проверить КАЖДЫЙ элемент onmouseover, чтобы увидеть, нужно ли делать перетаскиваемый вызов ...