我有 37 种不同的节点类型。我正在尝试实现拖放。这可行,但我需要准确限制可以拖动哪些类型以及可以删除它们的位置。不幸的是,我在文档中找不到任何有用的信息(http://www.jstree.com/documentation)。
到目前为止,我已经尝试了三种方法:
首先:根据节点类型在drag_check回调中定义true或false的返回值:
$("#demo1").jstree({
"dnd" : {
"drag_check" : function () {
第二:绑定到 prepare_move.jstree 事件并根据节点类型返回 true 或 false 值:
.bind("prepare_move.jstree", function (e, data) {
if (data.rslt.o.attr("typ") === "tpop") {
第三:使用类型插件并在那里定义有效的孩子:
$("#tree").jstree( {
"types": {
"type_attr": "typ",
"valid_children": ["ap_ordner_pop", "ap_ordner_apziel", "ap_ordner_erfkrit", "ap_ordner_apber", "ap_ordner_ber", "ap_ordner_beob", "iballg", "ap_ordner_ibb", "ap_ordner_ibartenassoz"],
"types": {
"ap_ordner_pop": {
"valid_children": "pop"
},
"pop": {
"valid_children": ["pop_ordner_tpop", "pop_ordner_popber", "pop_ordner_massnber"],
"new_node": "neue Population"
},
"pop_ordner_tpop": {
"valid_children": "tpop"
}
但我仍然可以在几乎任何地方删除大多数节点。这必须怎么做?或者你能给我举一个很好的例子吗?
非常感谢您的帮助。