【问题标题】:Expand jsTree node when parent is clicked单击父节点时展开 jsTree 节点
【发布时间】:2014-04-14 13:02:40
【问题描述】:

我正在尝试使用 jsTree 实现一个非常简单的树。我发现文档密集且压倒性的。

现在,我通过单击此处显示的箭头展开/折叠节点:

我也希望能够通过单击节点名称来展开/折叠:

我使用的代码很简单;我没有更改 jsTree 的 javascript:

<ul id="tree">
   <li>
      SubFolder1
      <ul id="tree">
         <li data-jstree='{"icon":"/Images/blue-folder.png"}'>Pub 1</li>
      </ul>
   </li>
</ul>

【问题讨论】:

标签: javascript jquery css jstree


【解决方案1】:
$('#tree').on('select_node.jstree', function (e, data) {
    data.instance.toggle_node(data.node);
});

这对我有用。 oerls 解决方案没有。

【讨论】:

    【解决方案2】:

    只需在您的 html 文件中添加一个事件侦听器并调用 toggle_node 函数。下面的这段代码会监听一次点击。

    $(document).ready(function(){
      $('#jstree_div').on("select_node.jstree", function (e, data) { $('#jstree_div').toggle_node(data.node); });
    }
    

    如果你想监听双击,你需要另一个事件监听器,因为 jsTree 还不支持双击事件。

    $('#jstree_div').on("dblclick",function (e) { 
      var li = $(e.target).closest("li");
      var node = $('#jstree_div').get_node(li[0].id);
    
      $('#jstree_div').toggle_node(node)
    });
    

    希望对您有所帮助。

    【讨论】:

    • 现在支持双击link
    【解决方案3】:
    $('#jstree').on("select_node.jstree", function (e, data) { 
         $('#jstree').jstree("toggle_node", data.node);
     });
    

    这也行

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多