2017-10-12 75 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