Dynatree:默认情况下,使用选择模式3(分层)防止选择父节点

Dynatree:默认情况下,使用选择模式3(分层)防止选择父节点,dynatree,jquery-dynatree,Dynatree,Jquery Dynatree,我正在使用Dynatree和选择模式“3”,它支持分层选择模式 在渲染“我的树”时,默认情况下,所有具有子节点的节点都渲染为选定的。默认情况下,叶节点渲染为未选中。如果我开始手动选择节点,则树的行为与预期一致 默认情况下,如何强制取消选中所有节点 注: Dynatree 1.2.1 RC3 树开始时为空,并使用“addChild()以编程方式构造 如果在构建节点时显式添加“selected:false”,则没有什么区别 没有尝试过预构建整个结构 想法?事实证明,选择是通过代码构建我的树的结果

我正在使用Dynatree和选择模式“3”,它支持分层选择模式

在渲染“我的树”时,默认情况下,所有具有子节点的节点都渲染为选定的。默认情况下,叶节点渲染为未选中。如果我开始手动选择节点,则树的行为与预期一致

默认情况下,如何强制取消选中所有节点

注:

  • Dynatree 1.2.1 RC3
  • 树开始时为空,并使用“addChild()以编程方式构造
  • 如果在构建节点时显式添加“selected:false”,则没有什么区别
  • 没有尝试过预构建整个结构

想法?

事实证明,选择是通过代码构建我的树的结果。当我调用.addChild()创建根级别节点时,该节点未被选中。当我调用.addChild()并向其中添加一个子对象时,它就会被选中

为了解决这个问题,我在添加子对象后手动调用父对象上的.select(false)

我不确定这是Dynatree中的错误还是我做错了什么。

你可以试试这个

    $("#tree").dynatree("getRoot").visit(function(node) {
        node.expand(false);
    });

我知道这个解决方案对您来说太晚了,但我发布这个方案是为了帮助其他面临同样问题的人。

听起来像个bug。最好是在谷歌代码(googlecode)上发行一期,并提供一份名为288期的采样器报告: