onmouseout 后保持项目集中
Keep item focussed after onmouseout
这是我的代码示例。我知道初始值,所以我申请专注于它。但是,如果我将鼠标悬停在任何项目上,然后鼠标移开,图表将重置为没有关注的项目。我以为我可以使用 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)
}
有人知道我在这里遗漏了什么吗?
谢谢!
那是因为链式 .focus() 方法 - 它 returns 未定义 ,所以变量图表也变得未定义。
图表初始化后,只需在单独的语句中调用初始焦点。
chart.focus(selectedItem);
参见jsfiddle。
这是我的代码示例。我知道初始值,所以我申请专注于它。但是,如果我将鼠标悬停在任何项目上,然后鼠标移开,图表将重置为没有关注的项目。我以为我可以使用 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)
}
有人知道我在这里遗漏了什么吗?
谢谢!
那是因为链式 .focus() 方法 - 它 returns 未定义 ,所以变量图表也变得未定义。
图表初始化后,只需在单独的语句中调用初始焦点。
chart.focus(selectedItem);
参见jsfiddle。