Javascript 列表项上的可排序和可拖动行为
我来这里是因为我在处理jQueryUI的可排序/可拖动/可拖放时遇到问题 我试着做一些类似iTunes播放列表的事情(当您更改曲目列表的顺序或将一首曲目移动到另一个播放列表时) 我的想法是,我有一个曲目列表(在a中),我希望这个列表是可排序的,这是最简单的部分。事实上,我还有第二个列表(播放列表),我希望曲目可以拖动到那些“播放列表”项目中,以便做些什么 下面是一个例子: (排序表正按照我的要求工作,黑线只是一个Javascript 列表项上的可排序和可拖动行为,javascript,jquery,jquery-ui,jquery-ui-sortable,jquery-ui-droppable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,Jquery Ui Droppable,我来这里是因为我在处理jQueryUI的可排序/可拖动/可拖放时遇到问题 我试着做一些类似iTunes播放列表的事情(当您更改曲目列表的顺序或将一首曲目移动到另一个播放列表时) 我的想法是,我有一个曲目列表(在a中),我希望这个列表是可排序的,这是最简单的部分。事实上,我还有第二个列表(播放列表),我希望曲目可以拖动到那些“播放列表”项目中,以便做些什么 下面是一个例子: (排序表正按照我的要求工作,黑线只是一个) 但当您开始拖动轨迹时,sortable可以正常工作。但当您将曲目移出可拖动列表时
)
但当您开始拖动轨迹时,sortable可以正常工作。但当您将曲目移出可拖动列表时,新的顺序将保持不变,因此在播放列表上拖动曲目也可能会改变曲目列表的顺序,这是一个问题
所以我不知道当轨道离开时如何阻止可排序表
如果你有任何想法:)
谢谢 啊,好吧,我知道发生了什么。下面是您想要做的事情(工作示例,这里:)
嗯,如果我正确理解你的要求,Firefox已经在这样工作了。什么浏览器让你感到悲伤?是的!那正是我想要的!坦克很多:)如果我想取消排序时,用户释放出的排序跟踪?我一直在看,这似乎有点棘手。我认为您需要做的是跟踪鼠标位置,查看它是否仍在原始可排序对象上,并使用out:事件测试您是否仍在原始可排序对象上,如果它在外部则取消。但是,我还没有确定具体细节,也没有时间进一步讨论,但是你可以看到我在这里尝试做了什么:好的,我完全明白,这正是我的想法,但我不知道如何开始。这肯定会有很大帮助,到现在我想我可以自己完成了。非常感谢你,你让我开心:)
$(".droppable").droppable({
tolerance: "pointer",
drop:function(){
// You need to tell your sortable to cancel
// the last drag/drop interaction
$("ul").sortable("cancel");
alert("Do something on drop ...");
}
});