jQuery UI可排序删除项不起作用

时间:2014-08-05 13:50:58

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

我已经整合jQuery UI sortable并且我已经创建了一个"可拖动的"物品清单,"可排序"项目列表和" droppable"列出如果我放弃"可排序"列出它删除它们。

这里的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"。我已经改变了"。droppableArea"用我的"#sidebar-wrapper"但是没有用。

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

这是我尝试做的jsfiddle

将鼠标悬停在" Headers"然后将其中一个图像拖到它所说的位置 HOVER" HEADERS"并在此处删除图像,然后尝试将图像从那里拖动到侧边栏包装中,您将看到图像未被删除。

任何想法可能出错?

1 个答案:

答案 0 :(得分:3)

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

.sortableList li {
   width:150px;
}

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