2014-04-24 39 views
0

我試圖通過將代碼添加到由Lars Kotthoff創建的小提琴拖放事件後獲取形狀的x值; http://jsfiddle.net/EwGPu/1/但我得到了原來的位置,而不是新的位置:什麼我做錯了拖放事件後的x座標值

d3.selectAll('circle').each(function() { 
console.log(d3.select(this).attr("cx")); 
}); 

有什麼想法?

回答

2

您還沒有告訴我們您要添加代碼的位置,但在此示例中cx實際上並未設置。相反,使用transform定位圓圈(請參閱拖動功能)。這就是你應該查詢(或直接獲取數據)以獲得該位置。例如:

d3.selectAll("circle").each(function(e) { 
     console.log(e.x); 
}); 

完整演示here

+0

完美。實際上,我試圖在拖放事件之後從x軸恢復一個日期。你的解決方案應該可以幫助我開始。謝謝 – user3359706

+0

拉爾斯 - 就像我希望的那樣直截了當。 e方法不適用於這個例子http://jsfiddle.net/sjp700/jn9Vn/,但可能不是正確的方式來取回基於x值的日期?小提琴沒有拖放。 Clickme更改矩形顏色,但由於某種原因無法使用小提琴! – user3359706

+0

您需要採用確定x位置的屬性:http://jsfiddle.net/jn9Vn/1/ –