JSTree – 如何强制用户tp只选择树的叶子
在我的JStree中,我希望用户只能选择树的叶子。 例如:没有孩子的节点。 我的想法是绑定select事件并手动检查所选节点是否有子节点,然后选择/不选择相应的节点。
有更简单的方法吗? 或者这是一个明显的解决方案吗?
您可以使用
- 类型插件
- .is_leaf()用于检查所选节点是否是子节点(叶子)。 在’之前’ – 事件中返回false将拒绝选择节点。 请参阅jsTree组
在代码中。
$('#treeID') .bind('before.jstree', function(event, data){ switch(data.plugin){ case 'ui': if(data.inst.is_leaf(data.args[0])){ return false; } break; default: break; } })
2014年 – 3.0.1版
$('#jstree').on('activate_node.jstree', function(e, data) { if(data.instance.is_leaf(data.node)) { ... } });
$('#jstree').on('activate_node.jstree', function(e, data) { if(!data.instance.is_leaf(data.node)) { data.instance.deselect_node(data.node, true); } }
如果节点不是叶子,则此代码将停用节点。
因此,只有叶子是可选择的。