在jquery dynatree中,当我单击lazy节点时,将删除节点的类

时间:2013-04-18 12:23:04

标签: dynatree jquery-dynatree

我正在使用带有context-menu选项的jquery-dynatree。

对于上下文菜单中的一个菜单项,我需要将整个子树显示为选择。 即选择的节点及其所有子节点,我可以使用以下代码执行此操作:

node.visit(function(childnode){
    $(childnode.span).addClass("copy");  // <== This works
});

现在我有两个问题:

1)第一个问题是我有懒节点选项,所以每当我点击菜单项时,我需要将整个子树显示为选中,因为我使用下面的代码

node.visit(function(childnode){
    childnode.expand(true);  // <== This works
    $(childnode.span).addClass("copy"); // <== Does not work
});

但它不能完全运行,它只将节点扩展到我初始化的级别,并且在扩展之后它不会将所需的CSS类“复制”添加到它自己或子节点。

2)第二个问题是,一旦我手动扩展了所有节点并选择了父节点,以便使用“copy”类显示整个子树,现在每当我点击任何父懒节点来检索这些子节点时,“复制“类从那些选定的节点中删除

期待解决此问题的一些提示。

1 个答案:

答案 0 :(得分:0)

我现在已经获得了第一点的解决方案,因为我试图在折叠模式下单击父级,我必须先扩展节点本身,然后再展开其子节点。

 node.expand(true); // This line was missing, it made the things work
                node.visit(function(childnode){
                    childnode.expand(true);
                    $(childnode.span).addClass("copy");
                });