0

我有一个可排序元素的列表,如果您将它们放入一个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

正如您可以在拇指看到,有两个占位符,但只有一个元素。我该如何解决这个问题? 谢谢。

+1

很可能是因为你有一个JS错误,它不能完成放置过程。检查控制台。 – Gabriel

+0

就是这样,我在删除它后试图访问元素xD – legomolina

回答

0

我怀疑你要移除ui.draggable,而不是原始的元素。您可能想尝试如下所示:

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

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