我目前正在为我们的网站添加冗长的工具提示,我想(不必求助于一个神奇的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(不排除其他;我只是没有检查)。
其他回答
只是分享我看到的小bug:
在Chrome 103中使用以下html:
<!DOCTYPE html > < html > <身体> <select title="Line 1: Line 2"> 测试<选项值= " 0 " > < /选项> < /选择> < /身体> < / html >
我看到了这个:
在截图上-“第一行:”文本后的两个奇怪的字符,第一行。
修复: (我不知道哪个是正确的/有效的,但它们都可以作为修复(在Chrome 103中))
在第一行之后添加空格(字符):在第一个
之前;修复它 先改变 & # 10;全行标题="第一行: 第2行" 添加,在第一行之后:在第一个 也在改变 “回车符号”将修复它
剃须刀的语法
在ASP的情况下。NET MVC,你可以把标题存储为变量,作为\r\n,就可以了。
@{
var logTooltip = "Sunday\r\nMonday\r\netc.";
}
<h3 title="@logTooltip">Logs</h3>
根据W3C网站上的这篇文章:
CDATA是来自文档字符集和的字符序列 可能包括字符实体。用户代理应该解释属性 取值如下: 用字符替换字符实体, 忽略换行, 用一个空格替换每个回车或制表符。
这意味着(至少)CR和LF在title属性中不起作用。我建议你使用工具提示插件。大多数插件都允许将任意HTML显示为元素的工具提示。
如果你试图在一个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(开发者版,因为,为什么不呢)上进行了测试。它应该也适用于大多数现代浏览器。
& # 13;可在所有主流浏览器(包括IE)上运行