javascript - 在 Chart.js 圆环图上检测 onHover 是否完整

标签 javascript chart.js

我有一个 Chart.js 圆环图 (v2.7.1),我希望在用户将鼠标悬停在相关图表元素上时设置外部元素的类

我可以在图表的 options.hover 中使用 onHover 事件

 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”属性之外的“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/

相关文章:

javascript - AngularJS:根据格式化日期过滤/搜索

angular - 如何在 Angular 中使用 Chart.js

hyperlink - Chart.js - 单击图表中的特定部分时链接到其他页面

javascript - JS 脚本没有运行?

javascript - 使用 Javascript 表单操作设置窗口大小

javascript - 通过单击外部来退出动态弹出窗口吗?

javascript - 在 Angular 4 上使用 Chart.js

javascript - JQuery 显示/隐藏不工作 IE7

javascript - Chartjs 悬停在一个图表上,显示所有图表的工具提示

javascript - UnitStepSize 用于使用 Chartjs 进行定期时间间隔