我有一个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已完成或该片段不再是焦点?

最佳答案

您是否要在“ onHover”属性之外定义“ events”属性?如果将“ 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');
           }

       }
   }
}

关于javascript - 在Chart.js甜甜圈图上检测onHover是否完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58939750/

10-12 07:24