Jstree 3.2.1 不突出显示选定的节点
Jstree 3.2.1 not highlighting selected nodes
我只是想知道插件["ui"] 是否仍然可以在 jstree 3.2.1 中使用,因为目前它没有突出显示我的树上的任何内容,这是我获得 selected 节点突出显示是通过使用 "keep_selected_style": true 但这不是我想要的,因为现在它突出显示每个能够 select 多个节点。
有什么想法或帮助吗?
如果您希望复选框以这种方式运行:1) 单击任何未 selected 的复选框节点删除先前的 selection 并将新的 selection 设置为当前复选框节点,以及 2) 能够 select 多个复选框仅按住 ctrl
按钮 - 您可以像这样向 select_node
事件添加一些代码:
var selectedNodeId = data.node.id,
ctrlKeyPressed = data.event.originalEvent.ctrlKey,
currentlySelectedNodes = [];
if( !ctrlKeyPressed ){
// deselect all selected except current
currentlySelectedNodeIds = $('#tree').jstree().get_selected();
for(var i=0, len=currentlySelectedNodeIds.length;i<len;i++){
if (currentlySelectedNodeIds[i] !== selectedNodeId) {
$('#tree').jstree().deselect_node( currentlySelectedNodeIds[i] );
}
}
}
勾选Fiddle
我只是想知道插件["ui"] 是否仍然可以在 jstree 3.2.1 中使用,因为目前它没有突出显示我的树上的任何内容,这是我获得 selected 节点突出显示是通过使用 "keep_selected_style": true 但这不是我想要的,因为现在它突出显示每个能够 select 多个节点。
有什么想法或帮助吗?
如果您希望复选框以这种方式运行:1) 单击任何未 selected 的复选框节点删除先前的 selection 并将新的 selection 设置为当前复选框节点,以及 2) 能够 select 多个复选框仅按住 ctrl
按钮 - 您可以像这样向 select_node
事件添加一些代码:
var selectedNodeId = data.node.id,
ctrlKeyPressed = data.event.originalEvent.ctrlKey,
currentlySelectedNodes = [];
if( !ctrlKeyPressed ){
// deselect all selected except current
currentlySelectedNodeIds = $('#tree').jstree().get_selected();
for(var i=0, len=currentlySelectedNodeIds.length;i<len;i++){
if (currentlySelectedNodeIds[i] !== selectedNodeId) {
$('#tree').jstree().deselect_node( currentlySelectedNodeIds[i] );
}
}
}
勾选Fiddle