2017-06-29 148 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