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

Plotly.js中plotly_click事件返回数据与文档不符问题

解决Plotly.js柱状图plotly_click事件数据结构不符的问题

你碰到的这个问题其实是jQuery事件绑定的特性导致的,我来给你掰扯清楚:

当你用jQuery的on()方法绑定Plotly的plotly_click事件时,回调函数的第一个参数是jQuery封装后的事件对象(也就是你现在打印出来的包含currentTarget、delegateTarget这些属性的对象),而Plotly官方文档里描述的包含points数组的事件数据,其实是作为第二个参数传递给回调函数的。

你之前的代码只接收了第一个参数,自然拿不到想要的结构。解决方法有两种:

方法一:使用原生DOM事件绑定(推荐)

直接用原生JS的addEventListener绑定事件,回调的第一个参数就是Plotly的事件数据:

document.getElementById('my-plotly-bar-chart').addEventListener('plotly_click', function(plotlyEventData) {
  console.log(plotlyEventData); // 这里就能看到包含points数组的结构了
});

方法二:保留jQuery绑定,接收第二个参数

如果你习惯用jQuery,只需要在回调里多接收一个参数,这个参数就是Plotly的事件数据:

$('#my-plotly-bar-chart').on('plotly_click', function(jqEvent, plotlyEventData) {
  console.log(plotlyEventData); // 这个才是你要的官方文档里的结构
});

简单来说,就是jQuery把自己的事件对象放在了第一个参数位,而Plotly的自定义数据在第二个位置,只要调整参数接收,就能拿到正确的点击点信息啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:21:47