1

我想用我的树实现以下行为。

当有人选择表示节点可展开的角图标时,我希望节点展开并且仅展开(无选择)。同时,当有人选择节点(即单击节点的文本)时,我希望执行我制作的特定处理程序并且不扩展节点。

这是因为在我的应用程序中,当用户选择/单击树的一个元素时,该元素被添加到 html 中的另一个列表中。假设一个选定项目的列表。

换句话说:

  • 当有人单击一个节点的文本时,该节点根本不应该展开,并且应该只执行我的处理程序。

  • 同时,如果有人单击节点左角的图标(实际上表明该节点是可扩展的),我希望它只扩展而不是其他任何东西。

简而言之,是否可以区分节点的选择和扩展它的动作。

4

1 回答 1

1

设置clickFolderMode1将使您获得您所追求的行为:

当有人选择表示节点可展开的角图标时,我希望节点展开并且仅展开(无选择)。同时,当有人选择节点(即单击节点的文本)时,我希望执行我制作的特定处理程序并且不扩展节点。

$("#tree").fancytree({
    clickFolderMode: 1 // 1:activate, 2:expand, 3:activate and expand
});

然后,您应该能够使用onSelectonExpand事件处理程序来执行您需要执行的操作,具体取决于用户执行的操作。

于 2015-05-04T08:03:33.973 回答