当元素在可排序列表中的位置发生变化时,如何跟踪元素的位置?
发布于 2010-06-06 21:31:42
您可以使用提供给事件的ui
对象,特别是您需要的stop
event、ui.item
property和.index()
,如下所示:
$("#sortable").sortable({
stop: function(event, ui) {
alert("New position: " + ui.item.index());
}
});
You can see a working demo here,请记住,.index()
值是从零开始的,因此为了显示,您可能希望使用+1。
发布于 2012-10-19 03:37:50
我不太确定我将在哪里存储开始位置,所以我想详细说明David Boikes的评论。我发现我可以将该变量存储在ui.item对象本身中,并在stop函数中检索它,如下所示:
$( "#sortable" ).sortable({
start: function(event, ui) {
ui.item.startPos = ui.item.index();
},
stop: function(event, ui) {
console.log("Start position: " + ui.item.startPos);
console.log("New position: " + ui.item.index());
}
});
https://stackoverflow.com/questions/2979643
复制相似问题