我有两个清单。第一个由可拖动的项目组成(如this)。 它连接到第二个,这是一个可排序的列表(如this)。
第一个列表中的项目可以通过拖动它们添加到第二个列表中。然后将它们克隆并变为绿色,以便用户可以看到它们是未保存的添加物。
我想要发生的是当您将项目拖出第二个列表时,它将被标记为删除,或者发送回第一个列表(如果它是未保存的添加)。但是我也希望人们能够对第二个列表进行排序。
因此,如果他们拖出一个项目并释放鼠标,那么它应该被移除。如果他们将一个项目拖出来又重新进入,则不应将其删除。
我已经尝试包装一个mouseup处理程序inside of a sortout,我最终使用它,但是你无法对列表中的项进行排序。
我应该采取什么想法?
答案 0 :(得分:0)
您需要绑定到目标列表上的drop事件(ID“droplist”),如下所示:
$("#droplist").bind( "drop", function(event){
$(this).append( event.dragTarget ); // or use prepend to put it at the top
console.log("Dropped " + event.dragTarget.title);
// trigger another event to do the work around checking if it is an unsaved addition
})
要在拖出时删除项目,您可以尝试绑定到列表周围的容器元素。
$("#background").bind( "drop", function(event){
event.dragTarget.remove(); // guessing here
})
代码片段可以帮助您进一步提供帮助。
答案 1 :(得分:-4)
使用不同的方法,这似乎比我想象的要麻烦。我还没有在IE中测试,这可能会打开一个新的蠕虫病毒,所以我将让拖动只是排序并添加一个删除按钮。欢呼声,
NU