Javascript 如何在图例悬停时触发工具提示?
我在我的项目中使用库,我试图在“切片悬停”或“图例悬停”上显示饼图的工具提示,默认情况下,库仅在“切片悬停”上显示工具提示 我正在尝试执行以下onHover函数Javascript 如何在图例悬停时触发工具提示?,javascript,jquery,chart.js,Javascript,Jquery,Chart.js,我在我的项目中使用库,我试图在“切片悬停”或“图例悬停”上显示饼图的工具提示,默认情况下,库仅在“切片悬停”上显示工具提示 我正在尝试执行以下onHover函数 onHover: function (event, legendItem) { var index = legendItem.datasetIndex; var label = this.chart.data.datasets[index].label
onHover: function (event, legendItem) {
var index = legendItem.datasetIndex;
var label = this.chart.data.datasets[index].label
return label;
}
但是下面的函数仍然没有效果
图表配置的全部代码如下所示:
optionsPagamenti = {
maintainAspectRatio: false,
legend: {
display: true,
position: "right",
labels: {
usePointStyle: true,
boxWidth: 6
},
onHover: function (event, legendItem) {
var index = legendItem.datasetIndex;
var label = this.chart.data.datasets[index].label
return label;
}
},
tooltips: {
backgroundColor: '#f5f5f5',
titleFontColor: '#333',
bodyFontColor: '#666',
bodySpacing: 4,
xPadding: 12,
intersect: 1,
displayColors: false,
callbacks: {
title: function (tooltipItem, data) {
return data['labels'][tooltipItem[0]['index']];
},
label: function (tooltipItem, data) {
return "€" + data['datasets'][0]['data'][tooltipItem['index']].toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,').replace(/[,.]/g, m => (m === ',' ? '.' : ','));
}
}
},
responsive: true,
};
那么,如何显示图例悬停的工具提示?使用以下方法解决:
onHover: function (event, legendItem) {
var chart = this.chart;
var index = legendItem.index;
var segment = chart.getDatasetMeta(0).data[index];
chart.tooltip._active = [segment]
chart.tooltip.update()
chart.draw()
}
我还添加了一个onLeave方法来关闭工具提示
onLeave: function (event, legendItem) {
var chart = this.chart;
var index = legendItem.index;
chart.tooltip._active = []
chart.tooltip.update()
chart.draw()
}