如何销毁 Nestable.js 列表?

rya*_*cey 1 javascript jquery drag-and-drop jquery-plugins

我正在使用Nestable.js jQuery 插件创建一个可拖放的项目列表,在后端用于管理菜单。它不再维护,但我找不到一个干净简单的替代方案,所以我告诉自己我应该尝试一下。

列表如下所示:

<div class="dd" id="nestable">
    <ol class="dd-list">
        <li class="dd-item" data-id="1">
            <div class="dd-handle">Item 1</div>
        </li>
        <li class="dd-item" data-id="2">
            <div class="dd-handle">Item 2</div>
            <ol class="dd-list">
                <li class="dd-item" data-id="3"><div class="dd-handle">Item 3</div></li>
                <li class="dd-item" data-id="4"><div class="dd-handle">Item 4</div></li>
                <li class="dd-item" data-id="5">
                    <div class="dd-handle">Item 5</div>
                    <ol class="dd-list">
                        <li class="dd-item" data-id="6"><div class="dd-handle">Item 6</div></li>
                        <li class="dd-item" data-id="7"><div class="dd-handle">Item 7</div></li>
                        <li class="dd-item" data-id="8"><div class="dd-handle">Item 8</div></li>
                    </ol>
                </li>
                <li class="dd-item" data-id="9"><div class="dd-handle">Item 9</div></li>
                <li class="dd-item" data-id="10"><div class="dd-handle">Item 10</div></li>
            </ol>
        </li>
        <li class="dd-item" data-id="11">
            <div class="dd-handle">Item 11</div>
        </li>
        <li class="dd-item" data-id="12">
            <div class="dd-handle">Item 12</div>
        </li>
    </ol>
</div>
Run Code Online (Sandbox Code Playgroud)

并与此“嵌套”:

$('#nestable').nestable();
Run Code Online (Sandbox Code Playgroud)

我使用 AJAX 请求更新列表,然后必须重新加载插件才能考虑修改。作者没有制作.destroy()函数,问题是当我更新列表时+,(展开)和-(折叠)不显示(参见演示)。

$('#nestable').off()在AJAX请求之前尝试过,然后重新做一个$('#nestable').nestable(),但它不起作用。

否则,是否有一个很好的拖放列表替代 Nestable.js ?

小智 5

$('#nestable').nestable('init');
Run Code Online (Sandbox Code Playgroud)

这应该插入在 AJAX 请求之后