Charts.js鼠标悬停问题

时间:2019-06-22 13:08:39

标签: javascript jquery charts

我正在使用Charts.js显示我的图表。我能够从几年,几个月到几天进行深入研究。但是,当我将鼠标悬停在图表上时,先前的图表会突然出现。

我已经搜索了此问题,解决方案是销毁图表。但是,当我立即声明图表时如何销毁它?我看不到可以调用destroy方法的地方。

如果我检测到未定义,只会给我一个长度错误

这是功能:

function DrawActivityChart(form_data) {
    $.ajax({
        url: "@Url.Action("DrilldownActivities", "Activities",new { area="Analytics"})",
        method: "POST",
        data: JSON.stringify(form_data),
        contentType: "application/json",
        success: function (result) {
            var labels = result.map(function (e) {
                if (e.Label != null) {
                    return e.Label;
                }
            });
            var data = result.map(function (e) {
                return e.Count;
            });;
            var jvsCtx = document.getElementById("drilldownActivities");
            var ctx = jvsCtx.getContext("2d");
            ctx.clearRect(0, 0, jvsCtx.width, jvsCtx.height);
            var aACD = {
                labels: labels,
                datasets: [{
                    label: 'All Activities',
                    data: data,
                    backgroundColor: 'rgb(251, 54, 64)',
                    borderWidth: 0
                }]
            };

            if (aAChart !== undefined) {
                console.log(aAChart);
                aAChart.destroy();
            }
            var aAChart = new Chart(jvsCtx, {
                type: 'bar',
                data: aACD,
                options: {
                    legend: { display: false }
                },
            });
        },
        error: function (error) {
            console.log(error);
        }
    });
}   

编辑:

解决方案之一是声明全局图表变量。但是,我不确定该怎么做。

0 个答案:

没有答案