我有一些可以正常工作的拖放代码。只是有一个小问题。我注意到,如果我出于调试目的在 drop 函数中添加警报(例如,alert(draggedItem.text());),当我将某些东西放入可拖动区域时,它会触发两次警报。我在另一篇文章中读到,一起使用 droppable 和 sortable 会导致这种奇怪的双重事件发生。但是我需要使用 droppable 事件来获取拖动的项目对象(ui.draggable)——这样我可以在放下它时对其进行操作。如果有任何其他获取可拖动对象的方法,请告诉我:) 另外,如果您对为什么会发生这种情况有解释,那会很有趣...
$(".field > li").draggable({
helper:'clone',
opacity: 0.4,
connectToSortable:'.dragrow'
});
$(".dragrow").droppable({
drop: function(e, ui) {
draggedItem = ui.draggable;
//alert(draggedItem.text());
}
}).sortable({ //code here to do stuff with 'draggedItem'
我还有另一个与此相关的查询,但由于我的代码很大,我无法在此处发布完整的内容。因此,如果您无法提供帮助,我可以理解-只要您想到一些非常酷的事情。基本上我有一个“块”列表,我可以将其拖入多行。可以使用切换事件隐藏各个行。如果我有 3 行,我可以将块拖到其中的任何一个中。如果我然后隐藏第一行,我现在无法拖入其他两行。不过,我仍然可以对它们进行排序。一旦我开始对它们进行排序,我就可以再次拖入它们。诡异的...