如何删除jquery可拖动项的子项

How to remove children of jquery draggable item after dropped

本文关键字:拖动 jquery 何删除 删除      更新时间:2023-10-28

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

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

更新示例

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