2013-10-02 9 views
6

ich das nächste div haben:nur den Tooltip angezeigt, wenn Auslassungs aktiv ist

<div class="div-class" style="width:158px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;" title=<%=myDesc%> 

Wie kann ich den Tooltip zeigen nur, wenn Auslassungs aktiv ist?

Ich finde diese Funktion

function isEllipsisActive(e) { 
    return (e.offsetWidth < e.scrollWidth); 
} 

Aber ich wusste nicht, wie es zu benutzen ich jsp nutzen wissen und Streben

+0

Da Sie setzen Der Inhalt, der abgeschnitten werden soll, wenn er überläuft, du wirst keinen wirklichen Überlauf mehr haben, den du überprüfen könntest ... du müsstest das tun, bevor du den Überlauf anwendest: versteckt. – CBroe

+0

Mögliches Duplikat von [HTML - wie kann ich den Tooltip NUR anzeigen, wenn die Ellipse aktiviert ist] (http://stackoverflow.com/questions/5474871/html-how-can-i-show-tooltip-only-when-ellips-is-is -aktiviert) –

Antwort

13

so etwas wie dieses Versuchen:

Working DEMO
Working DEMO - with tooltip

$(function() { 
    $('div').each(function(i) { 

     if (isEllipsisActive(this)) 
      //Enable tooltip 
     else 
      //Disable tooltip 
    }); 
}); 

function isEllipsisActive(e) { 
    return (e.offsetWidth < e.scrollWidth); 
} 
+0

Ich habe eine dumme Frage die $ (Funktion ...) wo soll ich es setzen? – junior

+0

'$ (Dokument) .ready' Ich denke. –

+0

Wie geht das Gleiche mit TDs anstelle von DIVs? Können Sie ein praktisches Beispiel dafür geben? – smartmouse

0

Für jeden, der qtip benutzt (sehr beliebt). Fügen Sie zuerst eine Klasse zu jedem Ihrer überlaufenden Elemente hinzu.

<span class="ellipsis-text">Some very long text that will overflow</span> 

Verwenden Sie dann die jQuery-Selektor mehrere solche Elemente auszuwählen, und wenden Sie das QTIP Plugin (oder jede andere Tooltip in den Sinn kommt) auf Ihre Elemente als solche:

$('.ellipsis-text').each(function() { 
    if (this.offsetWidth < this.scrollWidth) { 
     $(this).qtip({ 
      content: { 
       text: $(this).text() 
      }, 
      position: { 
       at: 'bottom center', 
       my: 'top center' 
      }, 
      style: { 
       classes: 'qtip-bootstrap', //Any style you want 
      } 
     }); 
    } 
}); 
Verwandte Themen