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

Highcharts Gantt 如何阻止光标移出图表区域时自定义tooltip自动消失

解决方案

原因说明

该现象是Highcharts默认交互逻辑导致的:默认情况下鼠标离开图表DOM容器时,会自动触发所有tooltip的隐藏逻辑,同时如果tooltip渲染在图表容器内部,超出容器的部分也会触发交互判定异常。

可直接落地的修改方案

方案1:调整Tooltip基础配置(优先尝试)

在你的Highcharts甘特图配置中添加/修改以下tooltip属性即可:

tooltip: {
  // 让tooltip渲染在body层,不受图表容器大小、overflow限制
  outside: true,
  // 鼠标接触到tooltip时保持显示,不会自动消失
  stickOnContact: true,
  // 点击触发固定显示的场景下,可将自动隐藏延迟设为无限大,避免超时自动隐藏
  hideDelay: Infinity
}

方案2:禁用图表容器默认的鼠标离开隐藏逻辑

如果调整配置后仍不生效,说明你自定义的点击触发逻辑和默认交互冲突,可以直接重写默认的重置tooltip方法,你可以在图表加载完成事件中添加以下逻辑:

chart: {
  events: {
    load: function () {
      const chartInstance = this;
      // 重写默认的tooltip重置方法,禁止自动隐藏
      chartInstance.pointer?.reset = function () {};
      // 后续需要手动隐藏tooltip时,调用 chartInstance.tooltip.hide() 即可
    }
  }
}

方案3:调整自定义触发逻辑的判定条件

如果你是完全自行实现的tooltip显示/隐藏逻辑,修改隐藏触发的判定规则:不要监听鼠标离开图表容器的事件,改为监听mousedown事件,仅当点击的目标既不是甘特图节点也不是tooltip元素本身时,才触发tooltip隐藏。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:54:03