我有一个可排序的列表。当一个新项目被放入列表(从一个可拖动的),我想访问它以对它执行一些操作。这就是我所拥有的:
$("#mySortableList").sortable({
receive: function(event, ui) {
alert("this is the dropped item: " + ui.item.toString());
}
}).disableSelection();
所以“ui.item”是被删除的元素,但它不是重复的项目,现在将成为我的列表的一部分。如何访问已删除的新项目?我在这里使用jquery-ui网站的确切演示: http://jqueryui.com/demos/draggable/#sortable
由于
答案 0 :(得分:4)
您可以在stop
事件中获取该项目,并检查它是否来自可拖动(它没有附加句柄,如果它来自可排序的那样),如下所示:
$("#mySortableList").sortable({
stop: function(event, ui) {
//check it wasn't here previously
if(!ui.item.data('tag') && !ui.item.data('handle')) {
ui.item.data('tag', true); //tag new draggable drops
alert("this is the dropped item: " + ui.item.toString());
}
}).disableSelection();
You can see a demo to play/test with here,因为句柄没有被添加,至少不是重要的方式,我们正在标记从可拖动内容中删除的项目,以便在移动到内部时它们不会再次触发警报排序
答案 1 :(得分:0)
我目前正在删除收到的项目,如下所示:
$(this).data().sortable.currentItem.remove(); --now to find its INDEX!