我使用具有拖放功能的Fancytree创建了一个类别树,如

现在,我要为子节点设置限制。如果父节点已经有3个子节点,那么他就不能创建新的子节点,例如
范畴
父类
- Child Category Allowed - Child Category Not Allowed to Move
就像这样,我为此创建了javascript。
dragDrop: function(node, data) {
if( node.getLevel() >= 3 ){
return false;
}
console.log( node );
console.log( data );
var parentNodeKey = node.key;
var sourceNode = $(data.helper).data("ftSourceNode");
if( !data.otherNode ){
var title = $(data.draggable.element).text() + " (" + (count)++ + ")";
node.addNode({title: title}, data.hitMode);
return;
}
data.otherNode.moveTo(node, data.hitMode);}
这是很好的工作,当我移动任何一个类别。但是当我移动“移动节点”类别时,这是不起作用的,因为这个类别已经有一个2个子节点,而该子节点已经有2个子节点,例如

我移动“移动节点”,这是工作的,我如何计数子节点或停止移动该节点。我想为创建3个子节点设置限制。我该怎么做呢。以及如何计算移动类别的所有子节点。
谢谢
发布于 2016-01-17 16:57:46
可以使用node.countChildren来计数子节点,但是从您的描述中我猜您想要计算子节点的最大级别吗?
没有内置的方法,但是可以使用node.visit()实现它。
https://stackoverflow.com/questions/34824199
复制相似问题