单击标题或单选按钮到 select Fancytree 节点

Clicking on title or radio button to select Fancytree node

我将 Fancytree 用于单选按钮。我希望能够单击标题或关联的单选按钮以 select 节点。

有了基本的 Fancytree 初始化,

$("#tree").fancytree({
  checkbox: true,    // turn on checkboxes
  selectMode: 1      // allow only a single selection
});

单击节点标题会突出显示标题,但不会勾选单选按钮。之后,勾选节点的单选按钮 select,但先前 selected 节点上的突出显示仍然存在。在这里试试:https://jsfiddle.net/slothbear/db4gzh47

我读过 FAQ,Fancytree 维护 active、selected、focused 和 hovered 的不同状态。我已经尝试了很多事件来保持节点 selection 和激活同步,但还没有找到合适的组合。

有没有办法模拟带标签的 HTML 单选按钮的行为,您可以在其中单击标签或单选按钮?示例:http://jsfiddle.net/Gu55B/1/

我尝试添加一个 return false 并且成功了。尝试这样的事情:

$("#tree").fancytree({
  checkbox: true,
  selectMode: 1,
  click: function(event, data){
    // data.node.setSelected(true) will work too
    data.node.toggleSelected();
    return false;
  }
});

希望对您有所帮助!

要仍然具有扩展器功能,请添加如下条件:

    $(".tree").fancytree({
        checkbox: true,
        selectMode: 1,
        click: function(event, data){
            if (data.targetType === 'title') {
                data.node.toggleSelected();
            }
        }
    });