我想要獲得拖動功能在D3上工作,並直接從開發人員的示例中複製代碼。D3拖動錯誤'不能讀取屬性x的undefined'
不過似乎起源(被點擊的是什麼)沒有被正確地傳遞到變量d,從而導致錯誤:「不能讀取屬性‘X’的未定義」
相關的代碼:
var drag = d3.behavior.drag()
.on("drag", function(d,i) {
d.x += d3.event.dx
d.y += d3.event.dy
d3.select(this).attr("transform", function(d,i){
return "translate(" + [ d.x,d.y ] + ")"
})
});
var svg = d3.select("body").append("svg")
.attr("width", 1000)
.attr("height", 300);
var group = svg.append("svg:g")
.attr("transform", "translate(10, 10)")
.attr("id", "group");
var rect1 = group.append("svg:rect")
.attr("rx", 6)
.attr("ry", 6)
.attr("x", 5/2)
.attr("y", 5/2)
.attr("id", "rect")
.attr("width", 250)
.attr("height", 125)
.style("fill", 'white')
.style("stroke", d3.scale.category20c())
.style('stroke-width', 5)
.call(drag);
謝謝你的澄清! – jetlej