我有一个Chart.js甜甜圈图(v2.7.1),我希望在用户将鼠标悬停在相关图表元素上时设置外部元素的类
我可以在图表的onHover
中使用options.hover
事件
hover: {
onHover: function (evt, item) {
if (item.length) {
var index = item[0]._index;
var legendElement = $(#get element based on index#);
legendElement.addClass('active');
}
}
}
这完美地设置了元素(legendElement
)上的类,但是当用户不再将鼠标悬停在元素上时,我需要能够从该元素中删除我设置的类
我使用正确的方法吗?有没有办法检测onHover是否已完成或该片段不再处于焦点?
答案 0 :(得分:1)
除了“ onHover”属性之外,您还在定义“事件”属性吗?如果将“ mouseout”添加到列表中,则在两种情况下都将调用“ onHover”功能。请查看此https://www.chartjs.org/docs/latest/general/interactions/events.html
的文档可能有效的示例代码:
options: {
events: ["mousemove", "mouseout"],
onHover: function (evt, item) {
if (item.length) {
var index = item[0]._index;
var legendElement = $(#get element based on index#);
if(evt.type == "mousemove"){
legendElement.addClass('active');
}else{
legendElement.removeClass('active');
}
}
}
}