Jquery Treeviewをテストしていて、わからないバグを見つけています。
起こっているように見えるのは、トグルが最初の 2 番目のレベルのネストでめちゃくちゃになっていることです。
テストするには...フィドルに移動し、[すべて折りたたむ]をクリックしてから[すべて展開]をクリックすると、適切に展開されないノードが表示されますが、+アイコンが-アイコンに変わるため、少なくとも正しいです。
これは既知のバグですか? それは彼らのデモでも起こります。
同じことを行うと主張する最近のプラグインがあることは知っていますが、この単純さが気に入っています (このバグを解決できると仮定して!)
バグがトグルにあると確信しており、適切に再帰していないと推測します。
// handle toggle event
function toggler() {
$(this)
.parent()
// swap classes for hitarea
.find(">.hitarea")
.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
// swap classes for parent li
.swapClass( CLASSES.collapsable, CLASSES.expandable )
.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
// find child lists
.find( ">ul" )
// toggle them
.heightToggle( settings.animated, settings.toggle );
if ( settings.unique ) {
$(this).parent()
.siblings()
// swap classes for hitarea
.find(">.hitarea")
.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
.end()
.replaceClass( CLASSES.collapsable, CLASSES.expandable )
.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
.find( ">ul" )
.heightHide( settings.animated, settings.toggle );
}
}
this.data("toggler", toggler);