jquery-ui 通过排序拖放多个 div

标签 jquery-ui drag-and-drop jquery-ui-sortable

我正在尝试创建一个 jquery 拖放解决方案,但对如何实现以下目标有点迷失。

  1. 允许将“.todo-task”放入 4 个“backlog、pending、inProgress、completed”div 容器中的任何一个中。

  2. 使用突出显示助手来显示任务将放置在容器中的位置。

  3. 能够在容器中拖放以更改顺序。

我的第一个问题是我似乎无法正确激活拖动项目。

我创建了一个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");

    }
})

最佳答案

我不确定您还想通过“禁用”样式 CSS 实现什么目标,但我只是对此进行了 fork 和胡闹:

jsfiddle

有一件事是我认为你的 jQuery 方法是多余的。为什么说:

$(".task-container").contents().find(".todo-task").draggable( ...etc.

当您可以轻松地做到这一点时:

$(".todo-task").draggable( ...etc.

所以我清理了一些。

我做的另一件事是使 .task-container droppable

查看 jQuery API:droppable methods

这允许您在列之间排序和移动,但就像我提到的,这个修复似乎与您的 CSS 类方法表现得很奇怪。

关于jquery-ui 通过排序拖放多个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29000167/

相关文章:

javascript - droppable 触发两次的 jQuery UI drop 事件

javascript - Blueimp Jquery 文件上传 : Doesn't show thumbnail preview image

javascript - 使用 JQuery 的带有单选按钮的确认对话框

cocoa - 如何创建拖放 mac 安装程序?

wpf - 在 ListView 中的项目之间绘制插入符号

javascript - 拖放的文件会显示在 JavaScript 中,但不会出现在请求中

Drupal 中的 Jquery 持久可排序对象?

javascript - 如果列表在初始化之前为空,则 jQuery sortable 无法与水平列表一起正常工作

javascript - 拖入相对定位的可排序列表时,jQuery 可拖动助手位置问题

javascript - 防止模态保存时双重操作