jQuery 嵌套排序最大深度选项

jQuery Nested Sortable maxDepth option

我正在使用这个插件:http://johnny.github.io/jquery-sortable/

(这不是 jQueryUI Sortable。这个是可嵌套的。)

Here's a demo

我正在尝试这样做:

菜单应该只允许根目录中的文件夹。

不允许将一个文件夹拖到另一个文件夹中。

很遗憾,此插件没有 maxLevel 或 Depth 选项。

到目前为止我所做的是使用 isValidTarget 函数来 return true 或 false。如果拖动的项目是 .folder 并且 .placeholder.folder 内,我 return false 并且它几乎可以工作但问题是 returning false 删除占位符所以它 return 再次为真...(所以它在闪烁)

if($item.hasClass('folder') && $('.placeholder').parent().parent('li').hasClass('folder')){
    return false
}else{
    return true
}

有什么想法吗?谢谢!

已修复。

演示:http://jsfiddle.net/mirohristov/kk8k2z8w/1/

防止将子菜单拖到另一个子菜单中。

menu.sortable({
 isValidTarget: function ($item, container) {
    return !(container.el.parent('li').hasClass('folder') && $item.hasClass('folder'));
 }
});