Highcharts工具提示格式化功能

Highcharts工具提示格式化功能,highcharts,Highcharts,我们最近购买了highcharts许可证,并将其与Grails应用程序集成 我们遇到了一些困难,因为我们无法在返回的JSON对象中指定工具提示格式化程序,因为HighCharts JSON对象似乎不符合JSON标准 具体来说,JSON似乎在技术上不允许将JavaScript函数作为对象属性。从www.json.org网站: 字符串是零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义。字符表示为单个字符串。字符串非常类似于C或Java字符串 因此,当我们输出格式化字符串时,它会用双

我们最近购买了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
}

经过几个小时的劳动,我刚把它修好。我的解决方案是在数据以JSON格式发送到浏览器后,将格式化程序添加到数据中

所以基本上,在js文件中有以下行:

$(blah).highcharts(data);
Data.tooltip.formatter = function() {
    //write function here
}
在这一行之前写:

$(blah).highcharts(data);
Data.tooltip.formatter = function() {
    //write function here
}

有一个grails工具提示插件-易于安装这是javascript可能会有所帮助。通常,您可以将函数作为字符串传递,然后对该字符串使用eval来获取函数。