如何从 amCharts 中的单击事件处理程序获取 HTML 属性值

How can I get a HTML attribute value from the click event handler in amCharts

我已将事件侦听器添加到我的图表以捕获点击并执行操作。

chart.addListener('clickGraphItem', handleClick);

handleClick 是一个事件实例可用的函数,但我似乎无法检索我事先添加到我的 HTML.[=13= 中的属性值]

有线索吗?

要在点击处理函数中获取点击项目的值,请使用传递给它的事件对象的 item 属性。

它是 GraphDataItem 对象的一个​​实例,它有 values 属性,而后者又是一个对象,其中包含该数据项的各种相关值,例如 value(我们感兴趣的)、高、低等

function handleClick(event) {
  alert(event.item.values.value);
}

如果要在单击图表时检索图表 HTML 元素容器的属性,可以使用 event.chart 对象。图表对象包含 div 属性,这是对图表容器的引用。您可以通过这种方式访问​​它的任何属性:

function handleClick(event) {
  console.log(event.chart.div.id);
}

要检索 HTML 元素的非标准 属性,请使用其 getAttribute() 方法。即:

function handleClick(event) {
  console.log(event.chart.div.getAttribute("chart-id"));
}