2017-04-19 13 views
1

私は新しいチャートを作成し、キャンバスのいくつかのポイントにマウスを置くたびに、私の問題はわかっていると思います、古いチャートは常に点滅します。 Here's one of the threads私はそれを試して修正するために続いたが、何も動作していないようだ。私はキャンバスを再追加しようとしましたが、破棄、クリア、if文はでなければなりません。はクリアされますが、何もありません。まだChartJsマウスのホバーのバグ(前のチャートを示しています)

var ctx = document.getElementById('myChart').getContext('2d'); 
var myChart = new Chart(ctx, { 
    type: 'line', 
    data: { 
     labels: chartjsDate, 
     datasets: [{ 
      label: 'temp', 
      data: chartjsTemp, 
      backgroundColor: "rgba(240,240,240,0.5)" 
     }] 
    } 
}); 

は私もif(myChart!=null){myChart.destroy();}、前とそのコードの後myChart.destroy();を追加しようとしたが、何も:

は、ここに私のコードです。どのようにそれを修正するための任意の助けに感謝します。私が見つけた他のすべてのスレッドはかなり古く、その解決策は機能しません。

編集:私は無駄に、試してみましたいくつかのもの:

var myChart; 
if (myChart != undefined || myChart !=null) { 
    myChart.destroy(); 
} 

答えて

1

を解決します!私はjavascriptのコードの上にこれを追加しました:

var button = document.getElementById("submitButton"); 
submitButton.addEventListener("click", function(){ 
    myChart.destroy(); 
}); 

そして、私のように、ID「のsubmitButton」を持って送信ボタンを変更:

<input type="submit" class="btn btn-danger" id="submitButton" value="Send" /> 

この方法では、毎回あなたが送信ボタンを押すと、それが破壊します前のチャート奇妙なことは、myChart.destroy();を使用しようとするとエラーが発生するということです。

+0

myChartの宣言方法と場所はどこですか? – hyperfkcb

0
var ctxLine = document.getElementById("line-chart").getContext("2d"); 


//var myLineChart; 
//myLineChart; 
if(window.bar != undefined) 
    window.bar.destroy(); 
window.bar = new Chart(ctxLine, {}); 
関連する問題