以下是我的代码示例。我知道初始值,所以我申请专注于它。但是,如果我将鼠标悬停在任何项目上,则鼠标输出,图表将重置为没有被聚焦的项目。我以为我可以再次使用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)
}
有人知道我在这里缺少什么吗?
谢谢!
答案 0 :(得分:1)
这是因为链式 .focus()方法 - 返回未定义,因此变量图也变得未定义。
在图表初始化后,只需在单独的语句中调用初始焦点。
chart.focus(selectedItem);
请参阅jsfiddle。