例如:
[{
"data": "reference",
"attr": {
"id": "0"
},
"state": "open",
"children": [
[{
"data": "one",
"attr": {
"id": "1"
},
"state": "closed"
}, {
"data": "two",
"attr": {
"id": "2"
}
}]
]
}, {
"data": "recycle bin",
"attr": {
"id": "bin"
},
"state": "closed",
"children": []
}]
我需要拒绝删除/移动/重命名“参考”&带有“dnd”,“crrm”和“上下文菜单”插件的“回收站”节点
答案 0 :(得分:2)
为避免使用crrm plugin进行移动,您可以这样做:
"crrm": {
"move": {
"check_move": function(m) { return (m.o[0].id !== "0" && m.o[0].id !== "bin"); }
}
}
总之,您需要返回TRUE以允许移动,否则返回FALSE。因此,检查移动的节点ID不是引用,还是回收站。
请查看jsTree documentation以完成其他任务,因为您需要的一切都在那里。不要偷懒: - )
答案 1 :(得分:1)
您可以捕获节点删除事件并检查节点的元数据:
.bind('delete_node.jstree', function (e, data) {
// Check medatada, assuming that root's parent_id is NULL:
if (data.rslt.obj.attr('parent_id') == null) {
alert('Root folder is here to stay.');
e.stopImmediatePropagation();
return false;
}
})