删除后可排序元素保留()

时间:2016-04-27 22:20:18

标签: jquery html jquery-ui jquery-ui-sortable jquery-ui-droppable

我有一个带有可排序元素的列表,如果将它们放入thrash bin中,可以将其删除。 问题是元素在删除后仍然存在。

<div class="content-remove" id="content-remove"></div>
<div class="content-elements" id="content-elements">
  <div class="element-item">
  </div>
</div>


$("#content-remove").droppable({
        accept: '#menu-contents .element-item',
        activeClass: 'active-remove',
        hoverClass: 'active-hover-remove',
        tolerance: 'pointer',
        drop: function(event, ui) {
            ui.draggable.remove();
        },
        over: function(event, ui) {
             ui.draggable.css({border: '2px solid #E64746', opacity: '0.7'});                 
             ui.droppable.css({border: '2px solid #E64746', opacity: '0.7'});
            },
        out: function(event, ui) {
            ui.draggable.css({border: '1px solid #ccc', opacity: '1'});
            ui.droppable.css({border: '1px solid #ccc', opacity: '1'});
            }
        });
$("#menu-contents .content-elements").sortable({placeholder: 'sortable-placeholder'}).disableSelection();

After deleting

正如您在拇指中看到的那样,有两个占位符,但只有一个元素。我怎么解决这个问题? 谢谢。

2 个答案:

答案 0 :(得分:0)

我怀疑您正在移除ui.draggable而不是原始元素。你可能想尝试类似的东西:

drop: function(event, ui) {
    var id = ui.draggable.attr("id");
    $("#" + id).remove();
},

答案 1 :(得分:0)

发生错误。删除元素后,我尝试访问.css方法;这产生了一个错误并使其余的事情崩溃。