2017-06-29 146 views
1

我有一个C3 xy图表,我试图添加一个onclick。 onclick在附带的小提琴中被注释掉(第58-70行)。 Scatter Fiddle当我将onclick代码包含在内时,图表不显示,在某处我弄乱了语法。通过onclick传递数据

var clickEvent = function(d) { 
    var clickData = d.id; 
    var clickValue = d.value; //y value ROS 
    var clickCat = [d.x]; //x value AU 
    var clickLegend = [d.name]; 

    var clickYear = d.id == 'data1' ? tooltips.data1[d.index] : d.id == 'data2' ? tooltips.data2[d.index] : d.id == 'data3' ? tooltips.data3[d.index] : d.id == 'data4' ? tooltips.data4[d.index] : null; 

    var allTogether = clickData + "|" + clickValue + "|" + clickCat + "|" + clickLegend + "|" + clickYear; 

    var theURL = alert(allTogether); 
} 
onclick: clickEvent 
+0

事件处理程序将一个['Event'](https://developer.mozilla.org/en-US/docs/Web/API/Event)对象作为参数。你期望'd'是什么?如果你想要dom元素,你可以使用'd.target'或'd.currentTarget'。 –

+0

你可以给我一点更具体的方向,做出什么样的改变,我不知道JavaScript那么好,谢谢。 – user8038235

回答

1

在你的配置之外提取你的方法声明后,我可以看到你搞砸了你的配置。您的评论后

//type: 'scatter' // uncoment to remove lines

是一些右括号内关你data财产。所以你实际上把你的onclick函数放在这个属性的外面,这相当于没有声明方法。

这是您的固定fiddle

+0

谢谢你,这个改变最初起作用了。但是,当我用硬编码的数据注释掉并用Filemaker脚本编程更新** Data1 **时(代码正在使用Filemaker Web查看器运行),工具提示和onclick工作正常,新数据确实绘制出来了。任何想法可能是错误的? – user8038235

+0

你是否更新了两个'data1'?你知道你有两个相互依赖的不同阵列。工具提示中的'data1'和c3 config中的'data1'。 – Akoya

+0

不确定“更新两个数据1”的含义 – user8038235