我使用自定义代码在 Highchart 中显示工具提示。下面的代码在大多数情况下都可以正常工作,但在某些情况下,当用户单击系列(行)之外时,工具提示不会再次出现。
events: {
load: function(){
this.myTooltip = new Highcharts.Tooltip(this, this.options.tooltip);
}
},
plotOptions: {
series: {
stickyTracking: false,
events: {
click: function(evt) {
this.chart.myTooltip.refresh(evt.point, evt);
},
mouseOut: function() {
this.chart.myTooltip.hide();
}
}
}
}
有什么方法可以避免这种错误行为吗?
如何重现问题:
单击线条内的一点(图表将正确显示工具提示)
在选择区域之外单击。
再次单击同一点。您将不会获得工具提示。 (点击事件不会被触发)。
代码可在此处找到:http://jsfiddle.net/rolandomartinezg/cuhvjqcq/ 。
更新:看起来这是 Higchart 的默认行为: 我创建了一个不使用任何自定义代码作为工具提示的新示例(启用工具提示:false)...并且选择系列中的一个点的工作方式与上面的示例相同。 如何查看:
将鼠标移到一点上
将鼠标移出该点
再次将鼠标移至同一点。
结果:不会再次选择该点。选择同一点的唯一方法是将鼠标移动到另一个点,然后再次将鼠标移回。请参阅此处的示例:http://jsfiddle.net/rolandomartinezg/pnm3bu14/
最佳答案
您可以在 Highcharts github 上找到有关此问题的信息:
https://github.com/highcharts/highcharts/issues/5491
在此主题中,您可以找到由 Paweł Fus 提出的问题解决方法:
point: {
events: {
mouseOut: function () {
this.series.chart.pointer.prevKDPoint = null;
}
}
}
在这里您可以找到使用此解决方法的图表示例: http://jsfiddle.net/vh2uer6n/5/
关于javascript - Highcharts - 使用点击事件的工具提示并不总是出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38444314/