2017-10-12 74 views
0

在我的图表上使用Chart.js我有一个使用chartjs-plugin-annotation创建的注释。我希望悬停在线上的注释标签可见。但我无法让它工作。我有以下代码:注释事件不会更新图表

//define ChartOneData 
var ctx = document.getElementById("chart").getContext("2d"); 

var chartOne = new Chart(ctx, { 
    type: 'line', 
    data: chartOneData, 
    options: { 
     annotation: { 
      events: ["mouseenter", "mouseleave"], 
      annotations: [{ 
       type: 'line', 
       mode: 'vertical', 
       scaleID: 'x-axis-0', 
       value: 1, 
       label: { 
        enabled: false, 
        content: "Text Label", 
       }, 
       onMouseenter: function(e) { 
        var element = this; 
        element.options.label.enabled = true; 
        element.chartInstance.update(); 
       }, 
       onMouseleave: function(e) { 
        var element = this; 
        element.options.label.enabled = false; 
        element.chartInstance.update(); 
       }] 
      } 
     } 
    } 
} 

事件触发,改变了属性“启用”(在控制台测试可见),但图表,和视觉效果,不更新。 其实我收到错误控制台:

Unable to preventDefault inside passive event listener invocation. 
dispatcher @ chartjs-plugin-annotation.js:261 

我不明白这一点,任何人都可以帮忙吗?

回答

0

所以事实证明,这是一个问题与底层pluging。该代码是正确的,并与chart.js版本2.5和2.6,但与2.7。图表注释github存储库中添加了一个问题。

解决方案是降级到2.6,并等待下一个版本的图表修复.js