我有一个带有可排序元素的列表,如果将它们放入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();
正如您在拇指中看到的那样,有两个占位符,但只有一个元素。我怎么解决这个问题? 谢谢。
答案 0 :(得分:0)
我怀疑您正在移除ui.draggable
而不是原始元素。你可能想尝试类似的东西:
drop: function(event, ui) {
var id = ui.draggable.attr("id");
$("#" + id).remove();
},
答案 1 :(得分:0)
发生错误。删除元素后,我尝试访问.css方法;这产生了一个错误并使其余的事情崩溃。