我目前正在为我们的网站添加冗长的工具提示,我想(不必求助于一个神奇的jQuery插件,我知道有很多!)使用回车来格式化工具提示。
为了添加提示,我使用了title属性。我环顾了一下常用的网站,并使用了基本的模板:
<a title='Tool?Tip?On?New?Line'>link with tip</a>
我试过更换?:
< br / > &013;/ & # 13; \ r \ n 环境。换行符(我使用c#)
以上方法都行不通。这可能吗?
我目前正在为我们的网站添加冗长的工具提示,我想(不必求助于一个神奇的jQuery插件,我知道有很多!)使用回车来格式化工具提示。
为了添加提示,我使用了title属性。我环顾了一下常用的网站,并使用了基本的模板:
<a title='Tool?Tip?On?New?Line'>link with tip</a>
我试过更换?:
< br / > &013;/ & # 13; \ r \ n 环境。换行符(我使用c#)
以上方法都行不通。这可能吗?
当前回答
“只需按下enter”的解决方案在这里不起作用,所以优秀的老香草JavaScript似乎是一种相当高效和干净的方法。
function customTitle(event, textHeader, text){
let eventOrigin = event.target || event.srcElement;
eventOrigin.title = textHeader + '\n\n' + text;
}
在元素onmouseover上:
onmouseover="customTitle(event, 'Some Caput', 'Some more or less complete description');"
瞧!它适用于谷歌Chrome和Firefox(不排除其他;我只是没有检查)。
其他回答
如果你试图在一个React项目中这样做,你将以下面的格式呈现:
title={`First line of text ${varOne} Second line of text ${varTwo} Third line of text ${varThree}`}
那么 , 类似的解决方案并不奏效。它们实际上会呈现为文本。
相反,根据需要实际创建文本是更好的选择。为了更好地理解,举个例子:
title={`First line of text ${varOne}
Second line of text ${varTwo}
Third line of text ${varThree}`}
确保在“第二行文本”和“第三行文本”之前删除制表符/空格缩进。否则他们也会渲染。
它在谷歌Chrome 96和Firefox 95.0b12(开发者版,因为,为什么不呢)上进行了测试。它应该也适用于大多数现代浏览器。
剃须刀的语法
在ASP的情况下。NET MVC,你可以把标题存储为变量,作为\r\n,就可以了。
@{
var logTooltip = "Sunday\r\nMonday\r\netc.";
}
<h3 title="@logTooltip">Logs</h3>
这里是一个演示:http://jsfiddle.net/rzea/vsp6840b/3/
HTML使用:
<a href="#" title="First Line
Second Line">Multiline Tooltip</a>
<br>
<br>
<a href="#" title="List:
• List item here
• Another list item here
• Aaaand another list item, lol">Unordered list tooltip</a>
值得一提的是,如果你用JavaScript设置title属性,如下所示:
divElement。setAttribute("title", "第一行 第二行");
这是行不通的。你必须将ASCII十进制10替换为ASCII十六进制a按照JavaScript转义的方式。是这样的:
divElement。setAttribute("title", "Line one\x0ALine two");
就用这个吧:
<a title='Tool
Tip
On
New
Line'>link with tip</a>
您可以使用
在标题上添加新行。