Tôi đang sử dụng D3js drag. yếu tố duy nhất được kéo hoàn toàn tốt đẹp. nhưng tôi muốn kéo một nhóm các phần tử. Làm thế nào nó có thể được thực hiện. Đây là nội dung của tôi trên số Js Fiddle link:Làm thế nào để kéo một nhóm svg bằng cách sử dụng hành vi kéo d3.js?
function onDragDrop(dragHandler, dropHandler) {
var drag = d3.behavior.drag();
drag.on("drag", dragHandler)
.on("dragend", dropHandler);
return drag;
}
var g = d3.select("body").select("svg").append("g")
.data([{ x: 50, y: 50 }]);
g.append("rect")
.attr("width", 40)
.attr("height", 40)
.attr("stroke", "red")
.attr("fill","transparent")
.attr("x", function (d) { return d.x; })
.attr("y", function (d) { return d.y; })
.call(onDragDrop(dragmove, dropHandler));
g.append("text")
.text("Any Text")
.attr("x", function (d) { return d.x; })
.attr("y", function (d) { return d.y; })
.call(onDragDrop(dragmove, dropHandler));
function dropHandler(d) {
// alert('dropped');
}
function dragmove(d) {
d3.select(this)
.attr("x", d.x = d3.event.x)
.attr("y", d.y = d3.event.y);
}
Tôi muốn kéo cả văn bản và văn bản đồng thời. Đây là những gì tôi tried, nhưng không có may mắn. Tôi nghĩ rằng thiếu một cái gì đó đơn giản.
Bạn nên thêm mã của mình tại đây chứ không phải chỉ liên kết đến jsfiddle. –