You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ChartJS 3中实现悬停饼图扇区时切换鼠标指针样式

解决方案

Chart.js v3 中所有饼图扇区都是 Canvas 绘制的矢量图形,不存在独立的 DOM 节点,你不需要单独获取扇区元素,直接修改 Canvas 容器的光标样式即可实现需求。

正确配置如下:

options: {
  // 悬停样式切换
  onHover: (e, activeEls) => {
    e.native.target.style.cursor = activeEls.length ? 'pointer' : 'default';
  },
  // 配套点击跳转逻辑
  onClick: (e, activeEls) => {
    if (activeEls.length) {
      // activeEls[0].index 为当前点击扇区对应的数据集下标
      const currentDataIndex = activeEls[0].index;
      // 替换为你自己业务中对应下标的跳转地址
      const targetUrl = yourUrlList[currentDataIndex];
      window.location.href = targetUrl;
    }
  }
}

错误原因说明

你之前尝试修改 activeEls 下的 style 属性无效,是因为 activeEls 是 Chart.js 内部维护的绘制元素实例,不是原生 DOM 对象,无法直接操作样式。


内容的提问来源于stack exchange,提问作者isherwood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:54:02