Diese Lösung verwendet keine Angular-UI, nur Angular und Bootstrap. Bootstrap ist nicht unbedingt erforderlich, vereinfacht nur den Prozess ein wenig:
http://plnkr.co/edit/jLThSTrLUapAG8OLW44m?p=preview
Bevor ich weiter gehen, eine Alternative zu diesem Beispiel einer CSS-Klasse mit word-wrap und white-space Objekten zu Ihrer Tooltip Klasse hinzuzufügen wäre. Untersuchen Sie die Elemente mit dem Entwicklerwerkzeug von Chrome oder Firefox, bis Sie die Klassen gefunden haben, die für das Setzen des Tooltips zuständig sind. Fügen Sie diese Eigenschaften dann in Ihrem benutzerdefinierten CSS-Dokument style.css hinzu.
Nun, für diese spezielle Lösung erstellen wir eine Tooltip-Richtlinie und lassen Sie es ein Placement-Attribut nehmen
Winkelcode bestimmen zu positionieren, wo wir den Tooltip zu zerstören, nachdem wir ein Speicherleck sind getan zu verhindern:
var app = angular.module('test', []);
angular.module('test').directive('tooltip', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
$(element)
.attr('title', attrs.tooltip)
.tooltip({placement: attrs.placement});
scope.$on('$destroy', function() {
element.tooltip('destroy');
});
}
}
})
CSS-Code, wo wir einige der Bootstrap Standardwerte außer Kraft setzen müssen:
.tooltip-inner {
width: auto;
min-width: 180px;
background-color: #c0d3d2;
color: #000000;
font-weight: 600;
margin: 0 5px 0 -5px;
/*margin-left: -5px;*/
}
/* Make tooltips opaque */
.tooltip.in { opacity: 1.8; filter: alpha(opacity=100); }
/*Change tooltip arrow color for bottom placement*/
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-bottom-color: #c0d3d2;
border-width: 0 5px 5px;
}
Können Sie einen Plunker machen? Ich habe es gerade versucht und meinen langen Tooltip automatisch auf Multilayer Word umbrochen und passgenau auf den Bildschirm gelegt. – lmyers
Beweisen Sie, dass dieses Problem immer noch relevant ist: Angular-ui's eigene Demo: http://plnkr.co/edit/3CrirzusD5ONSdIjnX4A Klicken Sie auf den "" oder verwenden Sie benutzerdefinierte Trigger, wie z. B. Fokus: " Wenn der Bildschirm klein genug ist, hängt dieser Tooltip von der rechten Seite. Der bootstrap von angular ui hat keine position: auto. Die Tooltips haben eine maximale Breite, aber sie werden nicht daran gehindert, von der Seite abzuhängen. Korrektur ist erforderlich. –