2013-02-25 9 views
12

Używam jstree wtyczki, aby wypełnić moje drzewo na podstawie pliku XML. Niektóre teksty węzłów są większe niż div kontenera. Czy istnieje sposób na zawijanie tekstów węzłów jstree?owijania liść tekst w jstree

$(document).ready(function(){ 
    $("#tree").jstree({ 
     "xml_data" : { 

      "ajax" : { 

       "url" : "jstree.xml" 

      }, 

      "xsl" : "nest" 


     }, 
     "themes" : { 

      "theme" : "classic", 

      "dots" : true, 

      "icons" : true 

     }, 

     "search" : { 

       "case_insensitive" : true, 

       "ajax" : { 

        "url" : "jstree.xml" 

       } 

      }, 
       "plugins" : ["themes", "xml_data", "ui","types", "search"] 


    }).bind("select_node.jstree", function (event, data) { 

     $("#tree").jstree("toggle_node", data.rslt.obj); 

Odpowiedz

10

spróbuj dodać następujące styl do kotew potomnych swojej jsTree Gr:

#jstree_div_id a { 
    white-space: normal !important; 
    height: auto; 
    padding: 1px 2px; 
} 

Mam też max-width na moim jsTree div stylizacji:

#jstree_div_id 
{ 
    max-width: 200px; 
} 
+1

Dzięki To jest praca dla mnie znakomita –

+0

Dziękuję bardzo! Działa to idealnie dla mnie! – Tung

1
#tree_id { 
    .jstree-anchor { 
    white-space: normal; 
    height: auto; 
    } 
    .jstree-default .jstree-anchor { 
    height: auto; 
    } 
} 
9

To działało na 3.0.8

.jstree-anchor { 
    /*enable wrapping*/ 
    white-space : normal !important; 
    /*ensure lower nodes move down*/ 
    height : auto !important; 
    /*offset icon width*/ 
    padding-right : 24px; 
} 

A dla tych, za pomocą wtyczki wholerow;

//make sure the highlight is the same height as the node text 
$('#tree').bind('hover_node.jstree', function() { 
    var bar = $(this).find('.jstree-wholerow-hovered'); 
    bar.css('height', 
     bar.parent().children('a.jstree-anchor').height() + 'px'); 
}); 
+0

Opcja 'wholerow' końcówka wtyczki było to, czego szukałem. – SNag

+0

Świetna odpowiedź! To zadziałało dla mnie, ale dla drzew, które miały wcześniej wybrane dane, tak się nie stało. Użyłem:
'$ (# tree '). Bind' open_node.jstree ', ->'
'bar = $ (this) .find ('. Jstree-wholerow-kliknięty ')'
' bar.css 'wysokość' bar.parent(). dzieci ('a.jstree kotwicy'), wysokość() + „px'' – TwiceB

0

mogę znaleźć odpowiedź przez coincedence i udało mi, ale miałem inną zasadę CSS uniemożliwiało kod funkcjonuje dobrze

I usunięte reguły css (min wysokość: 200px) "w moim kodzie" i następująca odpowiedź działała dla mnie tak, jak się spodziewałem.

#tree_div_id a { 
white-space: normal; 
height: auto; 
padding: 0.5ex 1ex; 
margint-top:1ex; 
}