我使用了jQuery树形插件。看看到“样品1 - 默认”提供的插件演示页面http上:// jquery.bassistance.de/treeview/demo/ 。在我的情况下,所有文件夹和文件的链接。如果我点击例如在扩大“文件夹2”将先崩溃,然后按照链接位置。我想的行为,只有那些倒塌将首先展开,如果它已经扩大了它会留下这样的。

在插件(jquery.treeview.js),其切换行为的代码如下:

66 this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
67 toggler.apply($(this).next());
68 }).add( $("a", this) ).hoverClass(); 

我已经想通了,如何让所有的链接,应改为:

$('a').parent().parent().filter('.collapsable')

其结果将是所有里这是目前可折叠(膨胀)的一个阵列: [LI。,li.collapsable]

但我不知道如何从那里继续:-(希望有人能帮助我一起......

我已经成功地改变了linkbehavior选定的电流(类=选择的),此代码链接:

    $(".current").click(function(e){
        e.preventDefault();
    });

提前感谢!

没有正确的解决方案

其他提示

也许并不清楚我真正想做的事情,所以我会尽力提高我的语言表达下一次;-)

在回答我的问题是:

$('li').filter('.collapsable').find('a:first:not(.current)').click(function(e){
            e.stopImmediatePropagation();
        });

也许它可以帮助别人谁正在寻找类似的东西。

此致!!

<强> UPDATE(张贴的溶液上方不工作,如果用户展开一个节点没有重新加载之后的页面)

    $('a').click(function(e){
        if ($(this).is('.current')) {
            e.preventDefault();
        } else if ($(this).parent().parent().is('.collapsable')) {
            e.stopImmediatePropagation();
        };          
    });

这一个作品,因为它它应该。 : - )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top