0

事件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/

4

1 回答 1

3

兄弟你有时需要学会调试,不是悬停功能没有触发,而是你不小心写了代码。

图表选项中的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;
    }
});

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

于 2015-05-11T16:23:54.470 回答