如何在jquery中将焦点移动到同一级别?

时间:2014-05-20 07:51:29

标签: javascript jquery jstree

你可以告诉我如何在焦点在顶级节点时将焦点移动到同一级别。实际上我使用jstree并将它与jquery一起使用。 首先我在扩展后从树视图中选择任何节点。然后我按下按钮,它转到父节点。如果它是顶级节点,它的父节点是#34;#"。如果用户不在有父母,它开始将焦点放在同一水平。?

用例子解释; 我扩展" c" node.Select" c-a"然后按下按钮,进入" c"节点(正如预期的那样,它转到它的父节点)。但是现在当用户再次按下它时停止移动它应该移动到" b"那么" a" ..

http://jsfiddle.net/fuu94/176/

    $('#onelvel').click(function () {
        if($('.jstree-clicked').length){
            if($('.jstree-clicked').next('.jstree-children').length){
                $('.jstree-clicked').click();
            } else {
                $('.jstree-clicked').closest('.jstree-children').prev('.jstree-anchor').click().addClass('jstree-clicked');
            }         
        }
         var selectedItem= $('.jstree-clicked').parent().attr('id');
        alert(selectedItem)
       var parentS= $('#tree').jstree(true).get_parent(selectedItem.toString());

 alert(parentS)      
if(parentS=="#"){
         alert("on b want to go a")
}else{
    alert("going uper node") 
}
    });

我正在检查来自http://www.jstree.com/api/

的api

1 个答案:

答案 0 :(得分:0)

您对选择器感到困惑,以及jsTree如何对点击的各种元素做出反应。

看一下这个演示http://jsfiddle.net/XN5JT/1/

使用Javascript:

$('#onelvel').click(function () {
    selected = $('#tree').jstree(true).get_selected();
    parent = $('#tree').jstree(true).get_parent(selected);
    console.log(selected, parent);
    if (parent == '#') {
        $('#' + selected).prev('li').children('.jstree-anchor').click();
    } else {
        $('#' + parent).children('.jstree-anchor').click();
    }
});