Ajouter une rupture de ligne dans les tooltips
comment ajouter des sauts de ligne dans un tooltip HTML?
j'ai essayé d'utiliser <br/>
et n
dans le tooltip comme suit:
<a href="#" title="Some long text <br/> Second line text n Third line text">Hover me</a>
Cependant, c'était inutile et je pouvais voir le texte littéral <br/>
et n
dans l'info-bulle. Toutes les suggestions seront utiles.
20 réponses
utilisez simplement le code d'entité 
pour un saut de ligne dans un attribut title.
Le 
combiné avec le style white-space: pre-line; a fonctionné pour moi.
ce CSS est ce qui a finalement fonctionné pour moi en conjonction avec un linefeed dans mon éditeur:
.tooltip-inner {
white-space: pre-wrap;
}
trouvé ici: comment faire pour que Twitter bootstrap tooltips ait plusieurs lignes?
il suffit d'ajouter un attribut de données
data-html= "true"
et vous pouvez y aller.
par exemple. usage:
<i data-html="true" class="tooltip ficon-help-icon" twipsy-content-set="true" data-original-title= "<b>Hello</b> Stackoverflow" </i>
cela a fonctionné dans la majorité des plugins tooltip que j'ai essayés jusqu'à présent.
donne \n
entre le texte. Il fonctionne sur tous les navigateurs.
Example
img.tooltip= " Your Text : \n"
img.tooltip += " Your text \n";
ça va marcher pour moi et c'est utilisé en code derrière.
Espère que cela fonctionnera pour vous
\n
avec le style
.tooltip-inner {
white-space: pre-line;
}
travaillait pour moi.
je l'ai trouvé. Cela peut être fait en faisant simplement comme ceci
<a ref="#" title="First Line
Second Line
Third line">Hover Me</a>
il est possible d'ajouter des linebreaks dans les tooltips HTML natifs en ayant simplement l'attribut title étalé sur plusieurs lignes.
cependant, je recommande d'utiliser un plugin tooltip jQuery tel que Q-Tip: http://craigsworks.com/projects/qtip / .
, C'est simple à configurer et à utiliser. Il existe aussi beaucoup de plugins javascript tooltip gratuits.
modifier: correction sur le premier déclaration.
pour moi, une solution en deux étapes (combinaison du formatage du titre et de l'ajout du style) a fonctionné, comme suit:
1) formater le title
attrbiute:
<a ref="#" title="First Line
Second Line
Third line">Hover Me</a>
2) ajouter ce style à l'élément tips
:
white-space: pre-line;
testé dans IE8, Firefox 22, et Safari 5.1.7.
la version javascript
depuis 
(html) est 0D
(hex), cela peut être représenté comme '\u000d'
str = str.replace(/\n/g, '\u000d');
en outre,
partager avec vous les gars un filtre AngularJS qui remplace \n
avec ce caractère grâce aux références dans le autres réponses
app.filter('titleLineBreaker', function () {
return function (str) {
if (!str) {
return str;
}
return str.replace(/\n/g, '\u000d');
};
});
utilisation
<div title="{{ message | titleLineBreaker }}"> </div>
il suffit d'ajouter des données-html= "true"
<a href="#" title="Some long text <br/> Second line text \n Third line text" data-html="true">Hover me</a>
bien si vous utilisez utilitaire Tooltip jQuery , puis dans " jQuery-ui.js "Javascript file trouver le texte suivant:
tooltip.find(".ui-tooltip-content").html(content);
et mettez au-dessus de cela
content=content.replace(/\</g,'<').replace(/\>/g,'>');
j'espère que cela fonctionnera aussi pour vous.
la solution pour moi était http://jqueryui.com/tooltip / :
et ici le code (la partie du script qui fait <br/>
est "content:"):
HTML HEAD
<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>
contrôle ASPX ou HTML
<asp:TextBox ID="Establecimiento" runat="server" Font-Size="1.3em" placeholder="Establecimiento" title="Texto 1.<br/>TIP: texto 2"></asp:TextBox>
Espérons que cela aide quelqu'un
Grater than Jquery UI 1.10 n'est pas compatible pour utiliser l'étiquette html à l'intérieur de l'attribut title parce que son html non valide.
donc la solution alternative est d'utiliser l'option tooltip content. Se référer à http://api.jqueryui.com/tooltip/#option-content
si vous utilisez jquery-ui 1.11.4:
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 );
},
AngularJS with Bootstrap UI Tolltip (uib-tooltip), has three versions of tool-tip:
uib-info-bulle, uib-tooltip-modèle et 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
dans mon cas, j'ai opté pour uib-tooltip-html et il y a trois parties à cela:
- configuration
- contrôleur
- HTML
exemple:
(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>
pour plus d'information, veuillez cocher ici
à l'Aide .html() au lieu de .texte() a travaillé pour moi. Par exemple
.html("This is a first line." + "<br/>" + "This is a second line.")
utiliser
devrait fonctionner (j'ai testé dans Chrome , Firefox et Edge ):
let users = [{username: 'user1'}, {username: 'user2'}, {username: 'user3'}];
let favTitle = '';
for(let j = 0; j < users.length; j++)
favTitle += users[j].username + " ";
$("#item").append('<i title="In favorite users: ' + favTitle + '">Favorite</i>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = item></div>