使可排序的项目也可以删除

时间:2012-02-15 16:45:59

标签: javascript jquery jquery-ui

我有一个可排序的列表项网格。单击并拖动时,它们会按预期使用jQuery可排序功能移动。现在,有没有办法让可排序的项目也可以删除?我很想使用droppable,但问题是当可排序列表开始移动时它不会更新。

  $('.sortable').sortable();

  $('.sortable li').droppable({
    hoveringClass: 'hover_state'
  });

所以我抓住了网格中的第二个项目,并将鼠标悬停在第三个项目上。第三项获得我告诉它的悬停类。然后我将第二个项目移到第三个项目的右侧。可以排序,第三项转移到第二项腾出空间的位置。但是droppable中的悬停类仍然存在,因为droppable认为第三项仍然是它开始的位置,而不是位于第二位。

希望这是有道理的,但如果没有,请告诉我。关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我在此页面上找到了一些有用的信息:

http://rubberflat.com/2010/06/refresh-jquery-ui-droppable-area-after-shifting-position/

我所做的是使用Sortable元素中的'change'事件来更新可放置元素的位置:

change: function(e, ui){
    $.ui.ddmanager.prepareOffsets(
        $(e.target).data('sortable'), e
        );
    }

现在,当可排序项目移动时,放置目标的位置会更新。