0

我们最近购买了一个 highcharts 许可证并将其与我们的 Grails 应用程序集成。

我们遇到了一些困难,因为我们无法在返回的 JSON 对象中指定工具提示格式化程序,因为 HighCharts JSON 对象似乎不符合 JSON 标准。

具体来说,JSON 在技术上似乎不允许将 JavaScript 函数作为对象属性。从 www.json.org 网站:

字符串是零个或多个 Unicode 字符的序列,用双引号括起来,使用反斜杠转义。字符表示为单个字符串。字符串与 C 或 Java 字符串非常相似。

因此,当我们输出格式化字符串时,它会被双引号括起来,如下所示:

"formatter": "this.x + ': ' + this.y",

我们能否在将 tooltip(或 tooltip-fn)属性指定为字符串(即 javascript 函数的名称)时获得增强功能?例如:

"formatter": "myTooltipFn"

它调用一个javascript函数,如:

myTooltipFn(chart) {
   return chart.x
}
4

1 回答 1

0

经过几个小时的工作,我刚刚解决了这个问题。我的解决方案是以 JSON 格式将数据发送到浏览器之后,将格式化程序添加到数据中。

所以基本上,在有这一行的 js 文件中:

$(blah).highcharts(data);

在此行之前写:

Data.tooltip.formatter = function() {
    //write function here
}
于 2015-06-05T16:17:08.567 回答