在onmouseout之后保持项目集中

时间:2017-06-29 00:17:04

标签: c3.js

以下是我的代码示例。我知道初始值,所以我申请专注于它。但是,如果我将鼠标悬停在任何项目上,则鼠标输出,图表将重置为没有被聚焦的项目。我以为我可以再次使用onmouseout重点关注焦点,但由于范围不适用。

var selectedItem = "Banana";

var chart = c3.generate({
    data: {
        columns: [
            ['Apple', 33.3],
            ['Banana', 33.3],
            ['Canada', 33.3],
        ],
        type : 'donut',
        selection: {
            enabled: true,
            multiple: false
        },
        onclick: function (d, i) { selectItem(d, i); },
        onmouseout: function (d, i) { resetItems(); }
    },
    donut: {
        title: "Select an Item",
    }
}).focus(selectedItem);

function selectItem(d, i) {
    selectedItem = d.id;
}

function resetItems() {
    chart.focus(selectedItem)
}

有人知道我在这里缺少什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

这是因为链式 .focus()方法 - 返回未定义,因此变量图也变得未定义。

在图表初始化后,只需在单独的语句中调用初始焦点。

chart.focus(selectedItem);

请参阅jsfiddle