javascript - Highcharts - 使用点击事件的工具提示并不总是出现

标签 javascript highcharts

我使用自定义代码在 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/

相关文章:

javascript - 初始化没有变量的类

javascript - 不同图表之间的视觉差异

javascript - angularjs修改div中的日期(不是日期对象)

javascript 遍历 dom 寻找特定的 aria-label

javascript - 达到最大值时对 Range 的 Int 进行求和并阻塞 Range

javascript - HighCharts 无法在 Safari 上运行,但在 Firefox 和 Chrome 上运行良好

javascript - Highcharts - 更新特定类别值

button - 如何在 subplot/addAxis 上的 highstock/highcharts 上添加自定义按钮

javascript - Highcharts:在图例中显示堆叠图表的最后一个值

Javascript:显示带有复选框值的图像