jsTree 创建节点后获取新节点

问题描述 投票:0回答:2

我试图在用户编辑新节点的名称并按 Enter 键后获取新创建节点的文本值。

当我这样做时:

        .on('create_node.jstree', function (e, data) {
            var id = data.node.id;
            alert($('#' + id).text());
        });

我在警报中得到的只是“新节点”。我一直在这个网站上寻找答案,并仔细阅读 jstree 网站上的 API 文档有一段时间了,但他们提供的示例很少,所以作为一个 jQuery 新手,这对我来说很难理解。

所以,我的问题是我实际上需要针对哪个事件进行编程才能获取刚刚创建的节点的 ID?是

changed.jstree
事件吗?如果是这样,我该如何利用它?

编辑 可能有助于提及我正在通过上下文菜单尝试此操作;这是我设置“创建”项目的方式:

                items = {
                    "create": {
                        "label": "New Category",
                        "action": function (obj) {
                            $node = tree.create_node(node);
                            tree.edit($node);
                        }
                    }
                }
javascript jquery jstree
2个回答
5
投票

您可能正在寻找的活动是

rename_node.jstree
。它看起来像:

.on('rename_node.jstree', function (e, data) {
  //data.text is the new name:
  alert(data.text);
});

0
投票
  tree.on('rename_node.jstree', function (e, data) {
  //data.text is the new name:

  var nodeId = data.node.original.id;
  if (nodeId == undefined) {
      console.log('New Node Added', data);
  } else if (data.old !== data.text) {
      console.log('Node Renamed', data);
  }

});

© www.soinside.com 2019 - 2024. All rights reserved.