it-swarm.com.de

Zeilenumbrüche in QuickInfos einfügen

Wie können innerhalb eines HTML-Tooltips Zeilenumbrüche hinzugefügt werden?

Ich habe versucht, <br/> und \n im Tooltip wie folgt zu verwenden: 

<a href="#" title="Some long text <br/> Second line text \n Third line text">Hover me</a>

Dies war jedoch nutzlos und ich konnte den wörtlichen Text <br/> und \n im Tooltip sehen. Alle Vorschläge werden hilfreich sein.

132

Verwenden Sie einfach den Entitätscode &#013; für einen Zeilenumbruch in einem title-Attribut.

215
Fred Senese

Der &#013; kombiniert mit dem Stil white-space: pre-line; arbeitete für mich.

54
GuitarWorker

Fügen Sie einfach ein Datenattribut hinzu

data-html = "true" 

und du bist gut zu gehen.

Z.B. Verwendungszweck: 

<i data-html="true" class="tooltip ficon-help-icon" twipsy-content-set="true" data-original-title= "<b>Hello</b> Stackoverflow" </i>

Bei den meisten Tooltip-Plugins, die ich bisher ausprobiert habe, hat es funktioniert.

35
siwalikm

Dieses CSS hat mir in Verbindung mit einem Zeilenvorschub in meinem Editor endlich funktioniert:

.tooltip-inner {
    white-space: pre-wrap;
}

Hier gefunden: Wie kann man machen, dass Twitter-Bootstrap-Tooltips aus mehreren Zeilen bestehen?

27
Dan

Geben Sie \n zwischen den Text ein. Es funktioniert auf allen Browsern.

Example 
img.tooltip= " Your Text : \n"
img.tooltip += " Your text \n";

Das wird für mich funktionieren und es wird im Code dahinter verwendet.

Ich hoffe, das funktioniert für Sie

9
Priyanka Thakur
\n

mit dem styling

.tooltip-inner {
    white-space: pre-line;
}

arbeitete für mich.

5
klausf

Ich habe es gefunden. Dies kann auf einfache Weise durchgeführt werden

<a ref="#" title="First Line
                  Second Line
                  Third line">Hover Me</a>
4

Die Javascript-Version

Da &#013; (html) 0D (hex) ist, kann dies als '\u000d' dargestellt werden.

str = str.replace(/\n/g, '\u000d');

In Ergänzung,

Gemeinsam mit Ihnen einen AngularJS-Filter, der \n mit diesem Zeichen ersetzt, dank der Referenzen in anderen Antworten

app.filter('titleLineBreaker', function () {
    return function (str) {
        if (!str) {
            return str;
        }

        return str.replace(/\n/g, '\u000d');
    };
});

verwendungszweck

<div title="{{ message | titleLineBreaker }}"> </div>
3
Jossef Harush

&lt;br /&gt; hat funktioniert, wenn Sie qTip verwenden

3
Eduardo Molteni

Fügen Sie einfach data-html = "true" hinzu.

<a href="#" title="Some long text <br/> Second line text \n Third line text" data-html="true">Hover me</a>
3
Babo Darbinyan

es ist möglich, Zeilenumbrüche in native HTML-Tooltips einzufügen, indem das title-Attribut einfach auf mehrere Zeilen verteilt wird.

Ich würde jedoch empfehlen, ein jQuery-Tooltip-Plugin wie Q-Tip zu verwenden: http://craigsworks.com/projects/qtip/ .

Es ist einfach einzurichten und zu verwenden. Alternativ gibt es auch viele kostenlose Javascript-Tooltip-Plugins.

edit: Korrektur bei der ersten Aussage.

2
Ross

Für mich funktionierte eine 2-Schritt-Lösung (Kombination aus Formatieren des Titels und Hinzufügen des Stils) wie folgt:

1) Formatieren Sie die Variable title:

<a ref="#" title="First Line
                  Second Line
                  Third line">Hover Me</a>

2) Fügen Sie diesen Stil dem tips-Element hinzu:

white-space: pre-line;

Getestet in IE8, Firefox 22 und Safari 5.1.7.

2
user2052547

verwenden Sie &#13; sollte funktionieren (habe ich getestet in Chrome , Firefox und Edge ):

let users = [{username: 'user1'}, {username: 'user2'}, {username: 'user3'}];
let favTitle = '';
for(let j = 0; j < users.length; j++)
    favTitle += users[j].username + "&#13;";

$("#item").append('<i title="In favorite users: &#13;' + favTitle + '">Favorite</i>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = item></div>

1
Nourein

Fügen Sie einfach diesen Codeausschnitt in Ihr Skript ein:

    $(function () {
        $('[data-toggle="tooltip"]').tooltip()
    });

und natürlich sollte der data-html, wie in den obigen antworten erwähnt, "true" sein. Auf diese Weise können Sie HTML-Tags und Formatierungen im Wert des Attributs title verwenden.

1

Wenn Sie Jquery Tooltip Utility verwenden, dann finden Sie in der Javascript-Datei "jquery-ui.js" folgenden Text:

tooltip.find(".ui-tooltip-content").html(content);

und darüber setzen

content=content.replace(/\&lt;/g,'<').replace(/\&gt;/g,'>');

Ich hoffe, das wird auch für Sie funktionieren.

1
user2160658

Die Verwendung von .html () anstelle von .text () hat für mich funktioniert. Zum Beispiel

.html("This is a first line." + "<br/>" + "This is a second line.")
0
Raj Stha
AngularJS with Bootstrap UI Tolltip (uib-tooltip), has three versions of tool-tip:

uib-tooltip, uib-tooltip-template und uib-tooltip-html

- uib-tooltip takes only text and will escape any HTML provided
- uib-tooltip-html takes an expression that evaluates to an HTML string
- uib-tooltip-template takes a text that specifies the location of the template

In meinem Fall habe ich mich für uib-tooltip-html entschieden und es gibt drei Teile:

  1. aufbau
  2. regler
  3. HTML

Beispiel:

(function(angular) {

//Step 1: configure $sceProvider - this allows the configuration of $sce service.

angular.module('myApp', ['uib.bootstrap'])
       .config(function($sceProvider) {
           $sceProvider.enabled(false);
       });

//Step 2: Set the tooltip content in the controller

angular.module('myApp')
       .controller('myController', myController);

myController.$inject = ['$sce'];

function myController($sce) {
    var vm = this;
    vm.tooltipContent = $sce.trustAsHtml('I am the first line <br /><br />' +
                                         'I am the second line-break');

    return vm;
}

 })(window.angular);

//Step 3: Use the tooltip in HTML (UI)

<div ng-controller="myController as get">
     <span uib-tooltip-html="get.tooltipContent">other Contents</span>
</div>

Weitere Informationen finden Sie unter hier

0
omostan

Benutzen 

&#013

Es sollte keine geben; Charakter. 

0
user1464581

Die Lösung für mich war http://jqueryui.com/tooltip/

Und hier ist der Code (der Teil des Skripts, der <br/> Works macht, "content:"):

HTML-KOPF

<head runat="server">
    <script src="../Scripts/jquery-2.0.3.min.js"></script>
    <link href="Content/themes/base/jquery-ui.css" rel="stylesheet" />
    <script src="../Scripts/jquery-ui-1.10.3.min.js"></script>
<script>
    /*Position:
      my =>  at
      at => element*/
    $(function () {
        $(document).tooltip({
            content: function() {
                var element = $( this );
                if ( element.is( "[title]" ) ) {
                    return element.attr( "title" );
                }

            },
            position: { my: "left bottom-3", at: "center top" } });
    });
</script>
</head>

ASPX- oder HTML-Steuerelement

<asp:TextBox ID="Establecimiento" runat="server" Font-Size="1.3em" placeholder="Establecimiento" title="Texto 1.<br/>TIP: texto 2"></asp:TextBox>

Hoffe das hilft jemandem

0
Diego P

Verwenden Sie einfach den Entitätscode &#xA; für einen Zeilenumbruch in einem title-Attribut.

<a title="First Line &#xA;Second Line">Hover Me </a>
0
Renish Gotecha

benutze einfach\n in title und füge diese CSS hinzu

.tooltip-inner {
    white-space: pre-wrap;
}
0
Dhanushka

Bei Verwendung der Jquery-Benutzeroberfläche 1.10 wird die Verwendung des html-Tags im title-Attribut nicht unterstützt, da das HTML nicht gültig ist.

Die alternative Lösung ist daher die Verwendung der Tooltip-Inhaltsoption . Siehe - http://api.jqueryui.com/tooltip/#option-content

0
Jaison

wenn Sie jquery-ui 1.11.4 verwenden:

var tooltip = $.widget( "ui.tooltip", {
    version: "1.11.4",
    options: {
        content: function() {
            // support: IE<9, Opera in jQuery <1.7
            // .text() can't accept undefined, so coerce to a string
            var title = $( this ).attr( "title" ) || "";
            // Escape title, since we're going from an attribute to raw HTML
Replace-->  //return $( "<a>" ).text( title ).html();
by -->      return $( "<a>" ).html( title );
             },
0
peter