使用amCharts,我需要在" clickGraphItem"事件发生。这意味着为每个图形都有一个独特的监听器,这样我就可以调用一个具有不同参数的函数(图形名称),具体取决于哪些图形'点击了子弹。
amCharts" clickGraphItem"的常见示例监听器将此监听器添加到整个图表中。但是,无法获取已单击的项目符号的原始图形,因为该事件会触发图表中的所有图形。
我尝试更改此示例以使用graph.addListener(...)
而不是chart.addListener(...)
,但这并不像预期的那样完全正常工作。该事件仅以某种方式触发在创建的第一个图表(graph
)上,并且不适用于graph2
,graph3
等。
有没有人知道使用amCharts这样做的另一种方法? 任何帮助将不胜感激。
最好的问候,
daZza
当前代码(在amCharts .ready函数内):
AmCharts.ready(function() {
// In between the chart is created
graph.addListener("clickGraphItem", function (event) {
var date = dateFormat(event.item.category, "mmm dd yyyy hh:MM:ss");
getDetails(date, "graph");
});
graph1.addListener("clickGraphItem", function (event) {
var date = dateFormat(event.item.category, "mmm dd yyyy hh:MM:ss");
getDetails(date, "graph1");
});
graph2.addListener("clickGraphItem", function (event) {
alert("graph2");
var date = dateFormat(event.item.category, "mmm dd yyyy hh:MM:ss");
getDetails(date, "graph2");
});
}
答案 0 :(得分:1)
奇怪,它应该像这样工作。你能展示完整的源代码吗? 但是,您只需将此事件侦听器添加到图表中,然后检查单击了哪个图形的项目符号。被触发的事件引用了图形对象:
{type:“clickGraph”,graph:AmGraph,chart:AmChart,event:MouseEvent}