我目前正在为我们的网站添加冗长的工具提示,我想(不必求助于一个神奇的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#)
以上方法都行不通。这可能吗?
当前回答
只是分享我看到的小bug:
在Chrome 103中使用以下html:
<!DOCTYPE html > < html > <身体> <select title="Line 1: Line 2"> 测试<选项值= " 0 " > < /选项> < /选择> < /身体> < / html >
我看到了这个:
在截图上-“第一行:”文本后的两个奇怪的字符,第一行。
修复: (我不知道哪个是正确的/有效的,但它们都可以作为修复(在Chrome 103中))
在第一行之后添加空格(字符):在第一个
之前;修复它 先改变 & # 10;全行标题="第一行: 第2行" 添加,在第一行之后:在第一个 也在改变 “回车符号”将修复它
其他回答
在Chrome 16或更早的版本中,你可以使用“\n”。顺便说一句,“\t”也可以。
根据W3C网站上的这篇文章:
CDATA是来自文档字符集和的字符序列 可能包括字符实体。用户代理应该解释属性 取值如下: 用字符替换字符实体, 忽略换行, 用一个空格替换每个回车或制表符。
这意味着(至少)CR和LF在title属性中不起作用。我建议你使用工具提示插件。大多数插件都允许将任意HTML显示为元素的工具提示。
使用\x0A让我在鼠标悬停时在标题/工具提示中获得换行符。
文件名:news.php
<span onmouseover="getInfo(this,'06-APR-22')" data-html="true">Day</span>
文件名:news.php
<script>
function getInfo(x, dateVal) {
var html = $.ajax({
type: "POST",
url: "report/get-info.php",
data: {
'dateVal': dateVal,
},
success: function(response) {
x.setAttribute('title', response );
}
});
}
</script>
文件名:get-info.php
<?php
$tmp = $_POST['dateVal'];
$dateVal = date("m/d/Y", strtotime($tmp));
$querySelectCode = "SELECT INFO_ID, INFO_NAME FROM INFORMATION
WHERE TRUNC(DP.DATE_TIME) = TO_DATE('$dateVal','MM/DD/YYYY') ";
$stmtSelectcode = oci_parse($dbConn, $querySelectCode);
if ( ! oci_execute($stmtSelectcode) ){
$err = oci_error($stmtSelectcode);
trigger_error('Query failed: ' . $err['message'], E_USER_ERROR);
}
$INFO_ID = array();
while(oci_fetch($stmtSelectcode)){
$INFO_ID[] = oci_result($stmtSelectcode, 'INFO_ID');
$INFO_NAME[] = oci_result($stmtSelectcode, 'INFO_NAME');
}
for($index=0 ; $index < count($INFO_ID) ; $index++)
{
echo $INFO_NAME[$index ] . "\x0A" ;
}
?>
如果你试图在一个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(开发者版,因为,为什么不呢)上进行了测试。它应该也适用于大多数现代浏览器。
这很简单:只需按下Enter!
<a href="#" title='工具 提示 在 新 Line'>link with tip</a>