gpt4 book ai didi

javascript - 在使用 jstree 重命名之前双击以编辑节点

转载 作者:行者123 更新时间:2023-11-30 10:22:23 28 4
gpt4 key购买 nike

我设置了一个 jstree(在 div id ="surveyManager"上)。我已经将 dbclick 和重命名函数绑定(bind)到它,如下所示:

 .bind("rename.jstree", function (node, data) {
edit_node(node,data);
}),

.bind("dblclick.jstree", function (event) {
//Double Click to Rename
jQuery("#surveyManager").jstree("rename");
})

这里的 edit_node 是一个函数,必须实现才能通过 ajax 调用传递所有节点信息。

是否可以设置树,以便在 dbclick 上,而不是重命名节点,我可以只触发 edit_node(node,data)。也许另一个 jstree 函数,或者我可以在其他地方定义它。请帮忙

最佳答案

我不确定我是否理解你的问题,但如果你想双击重命名,请尝试:

    tree.off('dblclick').on('dblclick','.jstree-anchor', renameNode);               

function renameNode() {
var instance = $.jstree.reference(this),
node = instance.get_node(this);
var old = node.text.replace(/\s+$/, ''); // trim right spaces

inst.edit(node, null, function(node, success, cancelled) {
if (!success || cancelled) return;
if (node.text.replace(/\s+$/, '')==old) return;

// all good, your rename code here
});
}

需要.off('dblclick') 来防止双击默认的jstree 打开节点

请注意,如果您还在某处绑定(bind)了树的“点击”事件,它也会触发 dblclick。将 'click' 更改为 'singleclick' 并使用 jquery.singleclick.js

关于javascript - 在使用 jstree 重命名之前双击以编辑节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000150/

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