我使用父li元素作为可拖动元素,它是我想要拖动的唯一元素,但是在删除li之后,子ul及其子元素仍然存在。所以问题是,一旦成功删除了拖动,如何删除不再存在的项目的子项(因为我没有恢复) 简单列表:
<ul>
<li class="draggable">Some text</li>
<ul>
<li class="child">More text</li>
<li class="child">More text</li>
</ul>
</li>
<ul>
<div class="droppable">This is the drop zone</div>
到目前为止,代码有一个小提琴: http://jsfiddle.net/wkrdgumb/1/
答案 0 :(得分:1)
您可以捕获start
事件中父元素的上下文。删除元素后,您可以删除start
事件中stop
事件中捕获的元素:
$(function () {
var $context = $();
$(".contact-group").draggable({
revert: false,
refreshPositions: true,
drag: function (event, ui) {
ui.helper.addClass("draggable");
},
start: function (event, ui) {
$context = ui.helper.parent();
},
stop: function (event, ui) {
ui.helper.removeClass("draggable");
ui.helper.removeClass("contact-group");
$context.remove();
}
});
$(".send_to").droppable({
// ...
});
});