【发布时间】:2015-03-12 00:57:30
【问题描述】:
我正在尝试创建一个 jquery 拖放解决方案,但我对如何实现以下目标有点迷茫。
允许将“.todo-task”拖放到 4 个“积压、待处理、进行中、已完成”的 div 容器中的任何一个中。
使用高亮助手显示任务在容器中的放置位置。
能够在容器中拖放以更改顺序。
我的第一个问题是我似乎无法正确激活拖动项目。
我已经用我目前拥有的代码创建了一个jsfiddle。感谢任何指导/帮助
这是我的 jquery 代码
$(".task-container").contents().find(".todo-task").draggable({
connectToSortable: ".ui-droppable",
helper: function (event) {
},
iframeFix: true,
// stop: makeSortable()
stop: function (event, ui) {
// alert('stop');
}
});
$(".ui-droppable").sortable({
placeholder: "ui-state-highlight",
opacity: .5,
//dropOnEmpty: true,
helper: 'original',
beforeStop: function (event, ui) {
newItem = ui.item;
},
receive: function (event, ui) {
},
}).disableSelection().droppable({
over: ".ui-droppable",
activeClass: 'highlight',
drop: function (event, ui) {
$(this).addClass("ui-state-highlight");
}
})
【问题讨论】:
-
确保可拖动元素不在其他 jquery-ui 可排序/可选择/可调整大小等容器中,因为这是在相同元素上混合 jquery-ui 功能的已知问题。有解决方案,但可能非常具体,具体取决于当前配置
-
首先,在小提琴中,您应该包含所需的库。 jsfiddle 的侧边栏上有一个选项,可让您添加外部资源。
标签: jquery-ui drag-and-drop jquery-ui-sortable