我刚刚了解到你可以使用live()
而不是bind()
来确保在使用AJAX重新加载内容后仍然存在事件处理程序...但是我可以用其他添加的JQuery做什么,例如如.sortable()
?我有一个UL,我需要在分类或添加后重新加载;但是在AJAX重新加载之后,排序工作不正常......
它并没有完全失去可分拣性,但拖拽变得更加困难;它会四处跳转,似乎会切换另外两个不是我试图拖动的部分。这只发生在部分重载之后;我的猜测是,当它重新加载时,我需要重新附加可排序的...我怎么能这样做?这是我的代码:
$("#sections").sortable({
start: function (event, ui) {
startIndex = ui.item.index();
},
update: function (event, ui) {
$.ajax({
type: "POST",
url: "/Form/sortSections",
data: {
formID: '@(Model.formID)',
displayOrder: ui.item.index() + 1,
sectionID: $(ui.item).attr("id"),
startDisplayOrder: startIndex + 1
},
success: function (result) {
$.get("/Form/_AllSections/@(Model.formID)", function (data) {
$("#sections").html(data);
});
},
error: function (req, status, error) {
alert(error);
}
});
}
});