jstree 在打开分支时关闭其余分支
jstree close rest of the branches when opening a branch
我正在使用 jsTree。如果我 expand/open 一个分支,我希望其余(打开的)分支获得 closed/collapsed。
我该怎么做?
使用节点打开事件查看树并关闭其他节点。我想你想保持打开刚刚展开的节点及其所有父节点。
像这样:
$('#tree').on('open_node.jstree', function (e, data) {
var nodesToKeepOpen = [];
// get all parent nodes to keep open
$('#'+data.node.id).parents('.jstree-node').each(function() {
nodesToKeepOpen.push(this.id);
});
// add current node to keep open
nodesToKeepOpen.push( data.node.id );
// close all other nodes
$('.jstree-node').each( function() {
if( nodesToKeepOpen.indexOf(this.id) === -1 ) {
$("#tree").jstree().close_node(this.id);
}
})
})
观看演示 JS Fiddle
我正在使用 jsTree。如果我 expand/open 一个分支,我希望其余(打开的)分支获得 closed/collapsed。
我该怎么做?
使用节点打开事件查看树并关闭其他节点。我想你想保持打开刚刚展开的节点及其所有父节点。
像这样:
$('#tree').on('open_node.jstree', function (e, data) {
var nodesToKeepOpen = [];
// get all parent nodes to keep open
$('#'+data.node.id).parents('.jstree-node').each(function() {
nodesToKeepOpen.push(this.id);
});
// add current node to keep open
nodesToKeepOpen.push( data.node.id );
// close all other nodes
$('.jstree-node').each( function() {
if( nodesToKeepOpen.indexOf(this.id) === -1 ) {
$("#tree").jstree().close_node(this.id);
}
})
})
观看演示 JS Fiddle