v3에서는 드래그 원점을 사용하여 마우스 위치/요소 좌표 오프셋으로 인해 눈에 띄게 점프하는 것을 방지했습니다. 원본 기능이 제거되었으므로 v4에 대안이 있습니까?d3 드래그 원점에 대한 버전 4의 해결 방법
var drag1 = d3.behavior.drag()
.origin(function() {
var t = d3.select(this);
return {
x: t.attr("x") + d3.transform(t.attr("transform")).translate[0],
y: t.attr("y") + d3.transform(t.attr("transform")).translate[1]
};
})
.on("drag", function (d, i) {
d3.select(this).attr("transform", function (d, i) {
return "translate(" + [d3.event.x, d3.event.y] + ")"
})
});
var drag2 = d3.behavior.drag()
.origin(function() {
var t = d3.select(this);
return { x: t.attr("x"), y: t.attr("y") };
})
.on("drag", function (d, i) {
d3.select(this)
.attr("x", d3.event.x)
.attr("y", d3.event.y);
});
은 아마 당신은'start' 이벤트를 끌어 듣고, 이벤트의 X를 잡아와 y가 조정해야합니까? 참조 [참고] (https://github.com/d3/d3-drag#drag-events) –