【问题标题】:how to deselect all nodes in JSTree如何取消选择JSTree中的所有节点
【发布时间】:2018-02-22 10:59:43
【问题描述】:

我正在动态构建 JS 树。

我正在删除节点,当它发生时,它正在选择上述节点并触发“select_node”事件。

我想覆盖默认功能

 $('#treeViewContainer').css("height", 100px);
  treeView = $('#treeView1');
  treeView.bind('select_node.jstree', function (e, data) {
   }

我尝试在删除节点后立即取消全选,但触发了“select_node”事件。

 if ($('#treeViewResults').length != 0)
 {
     treeView.jstree("delete_node", $('#treeViewResults'));
     $('#treeView1').jstree("deselect_all");
  }

如何跳过“select_node”事件被触发或取消选择所有节点 在触发 'select_node' 事件之前删除节点后立即。

请推荐

【问题讨论】:

    标签: jquery jstree jstree-search


    【解决方案1】:

    我也在使用 jsTree 来显示文件夹结构。当用户在 jsTree 中选择项目时,将在选项卡主机中打开一个新选项卡,如 Visual Studio 代码。然后,当用户再次选择一个选项卡(如 Visual Studio 代码)时,我需要突出显示 jsTree 项。 所以有2个场景来完成这个功能

    1 - 手动取消选择所有节点

    $("#jsTree").jstree().deselect_all(true);
    

    2 - 手动选择合适的项目

    $("#jsTree").jstree().select_node('item id');
    

    【讨论】:

      【解决方案2】:

      我已将'select_prev_on_delete'属性设置为false,默认为true。它解决了问题。

       $('#treeViewContainer').css("height", 100px);
        treeView = $('#treeView1');
        treeView.bind('select_node.jstree', function (e, data) {
         })
       .jstree({
                  'json_data': {
                      "data": treeData
                  },
                  'ui': {
                      "select_limit": 1,
                      "select_prev_on_delete": false
                  },
      

      【讨论】:

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