【问题标题】:EDGE issue - add new line in tooltip for title attribute in dc.js chartEDGE 问题 - 在工具提示中为 dc.js 图表中的标题属性添加新行
【发布时间】:2016-09-26 11:25:29
【问题描述】:

此问题仅适用于 EDGE 浏览器

到目前为止,对于我们的dc.js 图表 - 我们已经尝试过9 different approaches for showing title attribute value in new line

现在,当我尝试用我的图表来实现它们时:

.renderTitle(true)
.title(function (p) {
    return [
          'ABC',
          'DEF',
          'GHI',
          'JKL']
          .join('\n');
})

\n 被替换为

  • \x0A
  • 
  • \t
  • 
  • 


他们 seems to work 用于 HTML。

我怀疑他们只使用 HTML,所以我尝试了SVG only fix as suggested by @joews

.renderTitle(true)
.title(function (p) {

    return [
          '<tspan>ABC',
          '</tspan><tspan>DEF',
          '</tspan><tspan>GHI',
          '</tspan><tspan>JKL'</tspan>']
          .join('');
})

并且样式规则也适用:

tspan:nth-child(2n) {
  display: block;
}

也尝试过纯 d3.js 方法

.append("svg:title")
.append("tspan")
.text('ABC'+'\nDEF'+'\nGHI'+'\nJKL')

这些都不能在工具提示中引入新的一行。

解决方法是什么?

【问题讨论】:

  • 据我了解,这个问题纯粹是关于 Microsoft Edge 上 title 标记的行为。我已经编辑了适合的标签。
  • 谷歌搜索“svg title element newline”会引发很多老问题——看起来浏览器行为已经很长时间不一致了。也许改用 d3-tip?
  • @Gordon 我尝试了前 3 种解决方案:123。他们都没有为我们工作过。至少现在 d3-tip 也不是一个选项
  • 是的,看起来您正在尝试做的事情没有一致的支持。 IMO 如果您有格式化需求,最好使用 d3-tip。

标签: javascript html svg microsoft-edge dc.js


【解决方案1】:

尝试将标签 'br' 放在你想打断的地方。

<p title="Tool&#13;Tip&#13;On&#13;New&#13;Line">Tooltip with <br /> works Firefox browsers</p>

https://jsfiddle.net/aneukirchen/mrya78a8/17/

【讨论】:

  • 问题出在title属性
  • document.getElementById("tooltip").setAttribute("title", "Tool '
    ' 换行")
  • 问题在于title 属性的svg 元素而不是html
  • 其实这种情况下比较复杂!
  • 这是我的问题
猜你喜欢
  • 2017-05-06
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 2018-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多