2013-04-18 113 views
0

我正在使用带有上下文菜单选项的jquery-dynatree。在jquery dynatree中,当我点击懒惰节点时,节点类被删除

对于上下文菜单中的一个菜单项,我需要显示整个子树作为选择。 即选择的节点及其所有的孩子,我能做到这一点使用下面的代码:

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

现在我有2个问题:

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

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

,但它不完全工作,它只是扩展高达级别的节点我已初始化,也在扩展之后,它不会将所需的CSS类“复制”添加到自身或儿童节点。

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

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

回答

0

我已经得到了第一点的解决方案,因为我正在尝试在折叠模式下单击父级,所以在扩展其子节点之前,必须首先展开节点本身。

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