我正在使用D3來顯示與此處示例類似的多個條形圖(30+圖表):http://phrogz.net/js/d3-playground/#MultiBars_HTML當用戶將鼠標懸停在條上時,我想更改標題的名稱用戶正在與之交互的圖表,以及有關用戶懸停在其上的值的信息。D3.js在鼠標懸停時更改標題文本
所以,如果我添加類似:
bars.on('mouseover', mouseoverfunc);
function mouseoverfunc(d, i) {
// update the title just for this chart..not all charts
a.select("h2").text(function (d) { return "hello"; });
}
因此,瞭解鼠標懸停是吧[d3.select(本),我該如何選擇父,所以我可以改變一個剛剛稱號圖表?這裏有一個非常類似的例子:http://mbostock.github.com/protovis/ex/minnesota.html,我試圖在D3中複製
謝謝。
好,我想分配在標題爲每個圖表的屬性的想法。但是,我的'mouseoverfunc'函數具有參數i和d,條的索引和條的值。我不知道用戶正在與哪個圖表進行交互以瞭解要更改哪個屬性。我正在研究你現在穿越DOM的建議。謝謝。 – djazzd 2012-04-27 15:28:58
在這種情況下,如果'mouseoverfunc(d)'中的'd'是bar元素(不應該是數值),你應該可以使用'd.parentNode.id'來獲得正確的ID用在我上面建議的'd3.select'語句中。 – ZachB 2012-04-27 19:21:19
如果上面的'd'沒有你需要的,你也可以看'd3.event'。我認爲該屬性將是'd3.event.sourceEvent.target'。 (使用'console.dir(d3.event)'與螢火蟲或您的Web控制檯打開以檢查事件的屬性。) – ZachB 2012-04-27 19:23:26