javascript - 图表上的数据事件绑定(bind)

标签 javascript kendo-ui kendo-chart

默认情况下,图表显示 2001-2002 年的数据;我想知道当用户将鼠标悬停在图表上时它会显示 2002-2003 年的数据。一旦鼠标离开图表,它应该返回到默认阶段。

//The first data comes from 2001-2002
var seriesData = [{
    year: "2000",
    sold: 100,
    produced: 200
}, {
    year: "2001",
    sold: 250,
    produced: 280
}];

// The second dataset comes from 2002-2003
var seriesData2 = [{
    year: "2002",
    sold: 140,
    produced: 240
}, {
    year: "2004",
    sold: 350,
    produced: 380
}];

function createChart() {
    $("#chart").kendoChart({
    dataSource: {
        data: seriesData
    },
    series: [{
        name: "Sold",
        field: "sold"
    }, {
        name: "Producted",
        field: "produced"
    }],
    categoryAxis: {
        field: "year"
    },
  });
}

$(document)
    .ready(createChart);

这是 jsfiddle:https://jsfiddle.net/epvg86qu/1/

最佳答案

将图表包装在容器内,例如 div,然后在该 div 上放置鼠标悬停和移出事件。然后更改图表的数据源

<div id="chart-container">
//your chart here
</div>

<script type="text/javascript">
var isHover = false;
$("#chart-container").hover(
function () {
    if (!isHover) {
        var chart = $("#chart").data().kendoChart;
        chart.dataSource.data(seriesData2);
        isHover = true;
    }
}, function () {
    if (isHover) {
        var chart = $("#chart").data().kendoChart;
        chart.dataSource.data(seriesData);
        isHover = false;
    }
});
</script>

关于javascript - 图表上的数据事件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158228/

相关文章:

javascript - 如何使用javascript在上传图像时显示图像

asp.net-mvc - Kendoui MVC EditorTemplateName 在 PopUp 编辑模式下不起作用

javascript - ng-controller 不适用于 kendo tabstrip 选项卡内容

javascript - Kendo 中的自定义方法调用

javascript - kendo ui 图表 donut 设置突出显示

javascript - 如何在javascript中在彼此下方显示数据

javascript - 有什么方法可以在退出firefox浏览器时显示自定义消息

javascript - 更改堆栈条形图中的起点

angular - 如何在剑道图表中将 x 轴值显示在顶部而不是底部

javascript - 添加新点时移动图表