我正在使用此插件:http://johnny.github.io/jquery-sortable/
(它不是jQueryUI Sortable。这个是可嵌套的。)
我试图这样做:
菜单应该只允许根目录中的文件夹。
它不应该允许在另一个文件夹中拖动文件夹。
不幸的是,这个插件没有maxLevel或Depth选项。
到目前为止我所做的是使用isValidTarget
函数返回true或false。如果拖动的项目是.folder
且.placeholder
位于.folder
内,则返回false并且它几乎可以正常工作,但问题是返回false会删除占位符,因此它会再次返回true。 (所以它的闪烁)
if($item.hasClass('folder') && $('.placeholder').parent().parent('li').hasClass('folder')){
return false
}else{
return true
}
有什么想法吗?谢谢!
答案 0 :(得分:1)
修正了它。
演示:http://jsfiddle.net/mirohristov/kk8k2z8w/1/
防止将子菜单拖到另一个子菜单中。
menu.sortable({
isValidTarget: function ($item, container) {
return !(container.el.parent('li').hasClass('folder') && $item.hasClass('folder'));
}
});