gpt4 book ai didi

javascript - 在某些情况下不记得 jsTree addClass

转载 作者:行者123 更新时间:2023-11-29 14:48:04 26 4
gpt4 key购买 nike

使用 jsTree 和拖放插件,我试图说明何时更改了节点的位置。使用 move_node.jstree 事件,我将 isChanged 类添加到被移动的节点,这工作正常。但是,如果我移动的节点是已移动节点的兄弟节点,则先前移动的项目的 isChanged 类会被剥离。

有没有办法在所有移动的节点上保留 isChanged 类?

Demo

(移动同一分支上的节点;只有一个具有 isChanged 类)

这里是完整性代码:

$('#treeView').jstree({
"core": {
"check_callback": true
},
"plugins": ["dnd"]
})
.on('move_node.jstree', function (e, data) {

$("#" + data.node.a_attr.id).addClass("isChanged");

console.log(data.node.a_attr.id);

});

最佳答案

为了持久化该类,您还需要将其添加到节点的内部 jsTree 表示中,否则重绘节点时该类将丢失。

.on('move_node.jstree', function (e, data) {
$("#" + data.node.a_attr.id).addClass("isChanged");
if(data.node.a_attr.class) {
if(data.node.a_attr.class.indexOf('isChanged') === -1) {
data.node.a_attr.class += ' isChanged';
}
}
else {
data.node.a_attr.class = 'isChanged';
}
console.log(data.node.a_attr.id);
});

关于javascript - 在某些情况下不记得 jsTree addClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050268/

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