我在使此功能正常工作时遇到问题。
情况是:
- 用户将项目拖动到 div
- 在放置时,AJAX Post 被发送到带有项目 ID 的控制器操作
- 成功后,我用从数据库中检索到的 html 标记替换了该项目所在的 div。.replaceWith(data) 注意:此标记是一个 div,其 ID 与该项目被拖放到的 ID 相同,其中包含一些附加元素。
- 这会加载更新的 div。
所有这一切都完美无缺,几乎,问题是我不能将不同的项目拖到 div 上。我确信这与在 AJAX Post 之后加载的新 div(具有相同的 ID)有关。
这是我的 jQuery 代码
$(function () {
$('.draggable').draggable({ revert: true });
$('#layoutHeader').droppable({
drop: function (event, ui) {
$.ajax({
type: "POST",
url: '/SiteSetup/GetMarkup/' + $(ui.draggable).attr("id"),
success: function (data) {
$('.draggable').draggable('destroy');
$('#layoutHeader').replaceWith(data);
$('.draggable').draggable({ revert: true });
}
});
}
});
});