Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jstree中,如何在大型树上聚焦指定节点?_Tree_Focus_Jstree_Visible - Fatal编程技术网

在jstree中,如何在大型树上聚焦指定节点?

在jstree中,如何在大型树上聚焦指定节点?,tree,focus,jstree,visible,Tree,Focus,Jstree,Visible,我有一个大型jstree结构来实现分类管理器。我可以通过id打开特定节点: jstree('open_node',nodeId) 我已经编写了一个搜索框,当我从搜索下拉列表中选择一个项目时,它会为该项目打开一个编辑框。但是,左侧面板下方视图中的树并不关注此项。我可以打开所选节点,但它可能不在屏幕上,因为它可能位于树中与当前可见选择不同的部分(都在一个大的滚动区域) 我的问题:如何使树集中在所需节点上?用户需要实际查看所选节点在树中的位置。我不想上下滚动来找到它。这似乎相当标准,但我在任何地方都找

我有一个大型jstree结构来实现分类管理器。我可以通过id打开特定节点: jstree('open_node',nodeId)

我已经编写了一个搜索框,当我从搜索下拉列表中选择一个项目时,它会为该项目打开一个编辑框。但是,左侧面板下方视图中的树并不关注此项。我可以打开所选节点,但它可能不在屏幕上,因为它可能位于树中与当前可见选择不同的部分(都在一个大的滚动区域)


我的问题:如何使树集中在所需节点上?用户需要实际查看所选节点在树中的位置。我不想上下滚动来找到它。这似乎相当标准,但我在任何地方都找不到答案。谢谢

我知道,当您从下拉列表中选择一个节点时,您也希望看到它。 您是否尝试过使用jQuery.focus()


使用asDom参数设置为true的
get_node
函数,然后聚焦,如下所示:

treeElement.jstree(true).get_node(nodeId, true).children('.jstree-anchor').focus();
请记住,节点必须是可见的(在DOM中),才能工作

如果节点不可见(其父节点之一已关闭),则可以使用内部的
\u open\u to
功能显示该节点(也可以将其聚焦在此处以保持简单):

致以最良好的祝愿,
Ivan

1-在jstree的核心中必须添加(“动画”:0)

2-选择节点:

var str1 ='mynodeid';
$("#demo1").jstree('select_node', "#" + str1 );
3-在绑定选择节点功能中:

.bind("select_node.jstree", function (event, data) {
    data.inst._fix_scroll(data.rslt.obj);
}
"core": {
    "initially_open": ["phtml_1"],
    "rtl": true,
    "animation": 0
},
var str1 ='mynodeid';
$("#demo1").jstree('select_node', "#" + str1 );
.bind("select_node.jstree", function (event, data) {
    data.inst._fix_scroll(data.rslt.obj);
}