Chart.js 错误(); e、 停止传播(); menu.style.left=e.clientX+“px”; menu.style.top=e.clientY+“px”; menu.style.display=“block”; console.log(chart.hoveredItem); 返回(假); } 功能手柄向下(e){ menu.style.display=“无”; } } } ],
您的代码是否正常工作?我只看到一个静态上下文菜单选项出现(“仅包括2018年”等),只要我点击图表JS绘图。你的代码工作吗?我只看到一个静态上下文菜单选项出现(“仅包括2018年”等),只要我点击图表JS绘图。Chart.js 错误(); e、 停止传播(); menu.style.left=e.clientX+“px”; menu.style.top=e.clientY+“px”; menu.style.display=“block”; console.log(chart.hoveredItem); 返回(假); } 功能手柄向下(e){ menu.style.display=“无”; } } } ],,chart.js,Chart.js,您的代码是否正常工作?我只看到一个静态上下文菜单选项出现(“仅包括2018年”等),只要我点击图表JS绘图。你的代码工作吗?我只看到一个静态上下文菜单选项出现(“仅包括2018年”等),只要我点击图表JS绘图。 options: { events: ['click', 'mousemove'], onHover: function(e, fields){ const lx = e.layerX; const
options: {
events: ['click', 'mousemove'],
onHover: function(e, fields){
const lx = e.layerX;
const bars = fields.filter(({_view: {x,width}}) => (x - width/2) <= lx && lx <= (x + width/2));
const data = bars.map(({_index, _datasetIndex}) => this.data.datasets[_datasetIndex].data[_index]);
this.hoveredItem = {bars, data, fields};
},
},
plugins: [
{
afterInit: (chart) =>
{
var menu = document.getElementById("contextMenu");
chart.canvas.addEventListener('contextmenu', handleContextMenu, false);
chart.canvas.addEventListener('mousedown', handleMouseDown, false);
function handleContextMenu(e){
e.preventDefault();
e.stopPropagation();
menu.style.left = e.clientX + "px";
menu.style.top = e.clientY + "px";
menu.style.display = "block";
console.log(chart.hoveredItem);
return(false);
}
function handleMouseDown(e){
menu.style.display = "none";
}
}
}
],