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 错误(); 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

您的代码是否正常工作?我只看到一个静态上下文菜单选项出现(“仅包括2018年”等),只要我点击图表JS绘图。你的代码工作吗?我只看到一个静态上下文菜单选项出现(“仅包括2018年”等),只要我点击图表JS绘图。
    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";
                }
            }
        }
    ],