我正在使用highcharts,我想绘制一个样条图,我正在尝试动态添加系列。我已将click事件附加到系列中,但我很惊讶它在第一次点击时没有触发,而是在随后的点击中触发。
以下是我的代码。
analyticChart.chart.series.splice(dataset.id,0,{
'data':dataset.data,
'name':dataset.label,
'type': 'spline',
'id':dataset.id+'',
'yAxis': dataset.id,
'color': dataset.pointColor,
'visible':true,
'marker' : {
enabled : true,
radius : 4
},
'states': {
'hover': {
enabled: false
}
},
'events': {
click: function (event) {
console.log("Hello.. mike testing...!!");
lineChartDatasetClick(datasetList,dataset,index,analyticChart);
},
legendItemClick: function (event) {
try{
var id = event.target.options.id;
for(var i=0;i<analyticChart.chart.series.length;i++){
if(parseInt(id) == parseInt(analyticChart.chart.series[i].id)){
if(analyticChart.chart.series[i].visible){
analyticChart.chart.series[i].visible = false;
analyticChart.chart.options.yAxis[i].labels.enabled = false;
analyticChart.chart.options.yAxis[i].lineColor = "transparent";
}else{
analyticChart.chart.series[i].visible = true;
analyticChart.chart.options.yAxis[i].labels.enabled = true;
analyticChart.chart.options.yAxis[i].lineColor = analyticChart.chart.series[i].color;
}
$rootScope.$apply();
}
}
}catch(e){
console.log('error in legend ');
}
}
}
});
请帮助找出解决方案。
谢谢
答案 0 :(得分:1)
我知道我迟到了。我遇到过类似的情况,我发现我们需要在plotOptions系列中将kdNow
选项设置为true。
plotOptions: {
series: {
kdNow: true
}
}
这使首次点击即可工作,有关更多信息,请参见: https://github.com/highcharts/highcharts/issues/6817