Pergunta

Estou usando o jQuery Treeview plugin.Ter um olhar para o "Exemplo 1 - padrão", previsto na página de demonstração do plugin http://jquery.bassistance.de/treeview/demo/.No meu caso todas as pastas e arquivos são links.Se eu clicar, por exemplo, no expandida "Pasta 2" será a primeira colapso e, em seguida, siga para o local do link.O comportamento que eu gostaria é, que só desabou queridos irá expandir primeiro e se ele estiver expandida ele vai ficar como este.

O código do plugin (jquery.treeview.js) que mude o comportamento, é a seguinte:

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

Eu já descobriu como obter todas as ligações, o que deve ser mudado:

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

O resultado será uma matriz de todos os que li são atualmente flexível (expandido):[li., li.flexível]

Mas eu não sei como proceder a partir daí :-( Espero que alguém possa me ajudar ao longo do...

Eu já alterada com êxito o linkbehavior para o atual selecionada (classe=seleccionado) link com este código:

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

Muito obrigado antecipadamente!

Nenhuma solução correta

Outras dicas

talvez ele não foi claro o que eu realmente quero fazer, então eu vou tentar melhorar o meu verbalização próxima vez ;-)

A resposta para minha pergunta é:

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

Talvez ele ajuda a alguém que está à procura de algo semelhante.

Melhores cumprimentos!!

ATUALIZAÇÃO (postado solução acima não funcionar se o usuário expandida de um nó sem recarregar a página a seguir)

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

Este funciona como deveria.:-)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top