删除后如何删除jquery draggable项的子项

时间:2015-02-14 18:45:57

标签: javascript jquery jquery-ui

我使用父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/

1 个答案:

答案 0 :(得分:1)

您可以捕获start事件中父元素的上下文。删除元素后,您可以删除start事件中stop事件中捕获的元素:

Updated Example

$(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({
        // ...
    });
});