事件不会在 Kendo 后启动

Event does not fire up in Kendo

mouse hover 事件没有触发。我想不通

function createChart() {
    $("#chart")
        .kendoChart({
            xAxis: {},
            yAxis: {},
            seriesDefaults: {type: "scatterLine" },
            series: [{data: stats2}],
  })
}

// the following part does not fire up
var isHover = false;
$("#chart").hover(
function () {
    if (!isHover) {
        var chart = $("#chart").data().kendoChart;
        chart.options.series.data=stats2;
        isHover = true;
    }
}, function () {
    if (isHover) {
        var chart = $("#chart").data().kendoChart;
        chart.options.series.data=stats;
        isHover = false;
    }
});

http://jsfiddle.net/epvg86qu/7/

兄弟,有时候你要学会debug,不是悬停功能没有触发,而是你随便写了一段代码。

图表选项中的 series 属性 是一个 array。因此你需要一个索引来访问它。此外,因为您打算更改系列而不是其数据,所以您必须在更改系列数据后立即调用 redraw 方法。

此代码有效

var isHover = false;
$("#chart").hover(
    function () {
    if (!isHover) {
        var chart = $("#chart").data().kendoChart;
        chart.options.series[0].data = stats2;
        chart.redraw();
        isHover = true;
    }
}, function () {
    if (isHover) {
        var chart = $("#chart").data().kendoChart;
        chart.options.series[0].data = stats;
        chart.redraw();
        isHover = false;
    }
});

祝你有美好的一天,干杯!!