【发布时间】:2020-01-13 11:18:37
【问题描述】:
我在 d3 中有一个可拖动元素,但我想将可拖动区域限制在 svg 的边界内,这样它就永远不会消失。这可能吗?这是一个 jsfiddle,对可以拖动元素的位置没有限制:
https://jsfiddle.net/asicfr/34TKg/
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 ] + ")"
})
});
group.call(drag1);
【问题讨论】: