jQuery Treeview プラグインを使用しています。プラグインhttp://jquery.bassistance.de/treeview/demo/のデモ ページにある「サンプル 1 - デフォルト」をご覧ください。私の場合、すべてのフォルダーとファイルはリンクです。たとえば、展開された「Folder 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., li.collapsable]
しかし、そこから先に進む方法がわかりません:-(誰かが私を助けてくれることを願っています...
このコードを使用して、現在選択されている (class=selected) リンクの linkbehavior を既に正常に変更しています。
$(".current").click(function(e){
e.preventDefault();
});
よろしくお願いします!