jQuery UI 可排序删除元素不起作用

标签 jquery css jquery-ui jquery-ui-sortable

我已经集成了jQuery UI sortable我创建了一个“可拖动”的元素列表、一个“可排序”的元素列表和一个“可删除”列表,如果我从“可排序”列表中删除元素,则会将其删除。

这是负责此操作的 JS:

$(document).ready(function () {
$(".sortableList").sortable({
    //revert: true,
    /*update: function (event, ui) {
        // Some code to prevent duplicates
    }*/
});
$(".draggable").draggable({
    connectToSortable: '.sortableList',
    cursor: 'pointer',
    helper: 'clone',
    revert: 'invalid'
});

$('.droppableArea').droppable({
    accept: 'li',
    drop: function(event, ui) {
        ui.helper.remove();
    }
});
});

我不确定我是否解释清楚,但是 jsfiddle这究竟是如何运作的。

如您所见,效果很好。

我已经在我的网站中实现了这个以及其他一些 jQuery 插件,例如 "jquery-menu-aim"当您将鼠标悬停在菜单项上时,它将显示子菜单。我已经用“#sidebar-wrapper”更改了“.droppableArea”类,但不起作用。

当我尝试将元素放入侧边栏包装器时,它不会将其从可排序列表中删除。

这是一个jsfiddle我正在尝试做的事情。

将鼠标悬停在“标题”上,然后将其中一张图像拖动到其显示的位置 将鼠标悬停在“标题”上并将图像拖放到此处,然后尝试将图像从那里拖到侧边栏包装中,您将看到图像并未被删除。

有什么想法可能是错误的吗?

最佳答案

这是因为 Sortable LI 的宽度足够宽,当您将其拖动到侧边栏包装器时,jQuery UI 仍然认为您正在尝试排序。要查看这种情况,请添加以下 CSS

.sortableList li {
   width:150px;
}

您需要调整可排序的宽度,使其不比图像宽。

关于jQuery UI 可排序删除元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25140499/

相关文章:

php - 使用 php 任何 jquery 或 WebSocket 或 node.js 的中央控制计时器

javascript - 向网站添加打印按钮(将自动设置缩放、边距和隐藏页眉/页脚以进行打印)

html - 点击label导致img上移

css - OS X 10.11 升级后无法将 sass 转换为 css

javascript - 当长宽比为 true 且包含父级时,jQuery ui 可调整大小的 nw 句柄会中断

jquery - 光滑的 slider - 如何创建在事件中使用的函数?

javascript - 获取动态生成的html元素中每个元素的keyup事件

javascript - 如何根据事件网址更改导航栏中的图像?

jquery-ui - 如何使父容器中的所有 div 都可拖动

javascript - 如何实现等待机制,直到收到确认对话框响应?