Highcharts:每次调用Axis.update()时,useHTML for labels都会创建空标签div

时间:2013-06-18 22:29:07

标签: highcharts

我从“Highcharts Demo - VU meter”示例中获取了jsFiddle并进行了一些更改以演示我的问题。我的修改版本:http://jsfiddle.net/kCpTt/

在更新VU Meters的计时器循环中,我添加了此代码,也为每个yAxis元素调用update()方法。 (注意:在我在我的项目中使用的代码中,我实际上将一些更新传递给yAxis,但这些更新是无关紧要的,因为无论传入什么内容都存在这个问题,包括这个空对象)

chart.yAxis[0].update({});
chart.yAxis[1].update({});

我还将其中一个yAxis标签设置为“useHTML:true”,并将另一个标签设置为默认值。如果您检查标签(使用Firefox或Chrome开发者工具),您会看到每次计时器触发并更新数据点时,只有使用HTML的yAxis标签会在创建时留下空<div style="position: absolute; left: 0px; top: 0px;" class="highcharts-axis-labels"></div>新标签。另一个不使用HTML的人不会得到这些孤立的div。

编辑:我确信这是一个错误,所以我提交了一个实际的错误报告:https://github.com/highslide-software/highcharts.com/issues/1960

编辑2:就像那样......错误已得到修复。很棒的工作。 https://github.com/highslide-software/highcharts.com/commit/9d60d9f4aaf5cdc266c1daabf43ccddc103d0115

1 个答案:

答案 0 :(得分:0)

新的修复程序没有帮助我,所以我做了一个黑客。 在图表上使用load事件从bugged div中删除位置

events: {
            load: function(event) {
                $('#YOURCONTAINER div.highcharts-container div.highcharts-axis-labels').css("position", "");
            }
        }