gpt4 book ai didi

javascript - jstree delete_node() 没有删除

转载 作者:数据小太阳 更新时间:2023-10-29 04:47:36 25 4
gpt4 key购买 nike

我一直在拼凑一个函数来为不同的节点组合一个自定义上下文菜单。好吧,到目前为止,在点击文件夹或文件时显示不同的标签方面做得很好,但在实际删除它们方面却没那么好。

看看吧。我不得不......做一些棘手的解决方法,因为我无法让 node.hasClass('jstree-open') yada yada 正常工作,但这通常可以达到预期的效果删除

function customMenu(node) {
//Show a different label for renaming files and folders
var ID = $(node).attr('id');
if (ID == "j1_1") {
return items = {}; //no context menu for the root
}
var $mynode = $('#' + ID);
var renameLabel;
var deleteLabel;
var folder = false;
if ($mynode.hasClass("jstree-closed") || $mynode.hasClass("jstree-open")) { //If node is a folder
renameLabel = "Rename Folder";
deleteLabel = "Delete Folder";
folder = true;
}
else {
renameLabel = "Rename File";
deleteLabel = "Delete File";
}
var items = {
"rename" : {
"label" : renameLabel,
"action": function (obj) {
//nothing here yet.
}
},
"delete" : {
"label" : deleteLabel,
"action": function (obj) {
//tree.delete_node($(node));
//this.remove(obj);
//$('#treeView').jstree('remove', $(node));
//nothing is working.
}
}
};

return items;
}

为了方便起见,我整理了一个 fiddle :http://jsfiddle.net/dpzy8xjb/我不认为真的需要说我在 jQuery 或处理第三方 API 方面不是很有经验,所以...请保持温和。

最佳答案

请务必使用 tree.delete_node([node]); 进行删除。

Updated Fiddle

编辑:

您所做的代码与节点相同。

        var ID = $(node).attr('id');
var $mynode = $('#' + ID);

它是同一个对象节点。

关于javascript - jstree delete_node() 没有删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com