我们可以使用jquery进入一个级别的节点吗?

时间:2014-05-05 22:40:13

标签: javascript jquery jstree

我使用jstree进行树视图的演示。我能够移动下一个和前一个元素可选。 Ecample单击“b”现在可以选择,然后按next和之前它移动活动类。 当用户选择“b-a”时,我们可以使用“一级向上按钮”向上一级,当用户点击下一步时,它会进入“b-b”,之前它会进入“b-a”。

它永远不会达到一级,我们可以使用“一级向上按钮”升级一级然后转到“b” http://jsfiddle.net/fuu94/60/

$('#next').click(function () {
    if($('.jstree-clicked').closest('li').next().length)
        $('.jstree-clicked').removeClass('jstree-clicked').closest('li').next().find('a:eq(0)').addClass('jstree-clicked')

});
 $('#pre').click(function () {
     if($('.jstree-clicked').closest('li').prev().length)
        $('.jstree-clicked').removeClass('jstree-clicked').closest('li').prev().find('a:eq(0)').addClass('jstree-clicked')

});

    $('#onelvel').click(function () {
    alert('one level up')
});

如果用户在“b”并按“水平以上”,它应该像prevoius一样?我可以吗?

1 个答案:

答案 0 :(得分:0)

试试这个,

$('#onelvel').click(function () {
    if($('.jstree-clicked').length){
        $('.jstree-clicked').click();
        if($('.jstree-clicked').closest('.jstree-children').prev('.jstree-anchor').length){
            $('.jstree-clicked').removeClass('.jstree-clicked');
            $('.jstree-clicked').closest('.jstree-children').prev('.jstree-anchor').addClass('.jstree-clicked');
        }
    }
});

Live Demo

已更新尝试此操作,

$('#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');
        }         
    }
});

Updated demo