jQuery 嵌套排序最大深度选项
jQuery Nested Sortable maxDepth option
我正在使用这个插件:http://johnny.github.io/jquery-sortable/
(这不是 jQueryUI Sortable。这个是可嵌套的。)
我正在尝试这样做:
菜单应该只允许根目录中的文件夹。
不允许将一个文件夹拖到另一个文件夹中。
很遗憾,此插件没有 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'));
}
});
我正在使用这个插件:http://johnny.github.io/jquery-sortable/
(这不是 jQueryUI Sortable。这个是可嵌套的。)
我正在尝试这样做:
菜单应该只允许根目录中的文件夹。
不允许将一个文件夹拖到另一个文件夹中。
很遗憾,此插件没有 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'));
}
});