2009-12-28 4 views
5

J'ai essayé ce qui suit, mais cela n'a pas semblé fonctionner.Comment définir max-width de dijit.ToolTip?

var helpIcon = dojo.create("span", {"class":"help-icon", innerHTML:"[?]"}, td1); 
var tooltip = new dijit.Tooltip({ 
     connectId: [helpIcon], 
     label: "large paragraph of text here ... " 
    }); 
tooltip._setStyleAttr("max-width: 100px");

Aide!

Répondre

8

Par l'expérimentation, je trouve que cela fonctionne:

.dijitTooltip {max-width: 50em;}

+1

+1 On dirait que vous aussi discuté [ici] (http: //dojo-toolkit.33424.n3.nabble .com/setting-max-largeur-de-dijit-ToolTip-td102038.html # none) sur le forum Dojo? Et a obtenu un certain soutien pour cette solution. – MarkJ

0

Notez que les modifications de style sont applicables à toutes les info-bulles sur la page. Dojo crée (si nécessaire) 1 objet commun dijit._MasterTooltip qui contient les nœuds dom de l'infobulle, et toutes les info-bulles l'utilisent. Le code suivant ajoute des classes css personnalisées au conteneur et au connecteur des rooltips.

if(!dijit._masterTT) 
    dijit._masterTT = new dijit._MasterTooltip(); 
// Add a css class to the container 
if(dijit._masterTT.domNode.childNodes[0]) 
    dojo.addClass(dijit._masterTT.domNode.childNodes[0], "classContainer"); 
// Add a css class to the connector 
if(dijit._masterTT.domNode.childNodes[1]) 
    dojo.addClass(dijit._masterTT.domNode.childNodes[1], "classConnector"); 
2

Il suffit de mettre un div dans la ToolTip et la limite sa largeur:

<span id="a">Some Text</span> 
<div dojoType="dijit.Tooltip" connectId="a" position="below"> 
    <div style="width: 400px;">Some Info Some Info Some Info Some Info 
    Some Info Some Info Some Info Some Info Some Info Some Info Some Info 
    Some Info Some Info Some Info Some Info Some Info Some Info Some Info 
    Some Info Some Info Some Info Some Info Some Info Some Info </div> 
</div>