我试图通过jsTree导航并使用“show_only_matches”参数搜索插件。但是当我使用向上和向下箭头在树中导航时,可以选择隐藏的节点,但我想要遍历“可见”节点。
答案 0 :(得分:0)
请参阅此jsFiddle获取答案:http://jsfiddle.net/G789k/27/
我只是在向下键上做了,所以你需要调整它。几乎完全相同 - 只需将_get_next
更改为_get_prev
。
以下是代码的相关部分,仅供参考:
"search" : {
"case_insensitive" : true,
"show_only_matches": true
},
"ui" :{
"select_limit" : 1,
},
// overriding hotkey
'hotkeys': {
'down': function() {
// most of this stolen from jstree.js source
var o = this.data.ui.hovered || this.data.ui.last_selected || -1,
node = this._get_next(o);
this.hover_node(node);
// call self if selected node is hidden
// note: this is a somewhat dangerous (and deprecated) way to do recursion.
// ultimately, it would be better if your down function was
// defined elsewhere and called here as needed.
if ( node.length && node.is(':hidden')) arguments.callee.call(this);
return false;
}
}
我还认为默认功能 - 导航到隐藏节点 - 是不可取的,jstree dev应该修复它。考虑将其作为错误修正/请求提交给他。