This question already has answers here:
D3.js: Remove force.drag from a selection

(3个答案)


4年前关闭。




我将以下内容附加到svg元素
var dragger = d3.behavior.drag()
.origin(function(d) {
  return d;
})
.on('drag', this.move)
.on('dragend', dropHandler);

//caller
var g = c.append('svg').call(dragger).data([{
x: x0,
y: y0
}]);

我正在dropHandler函数内部实现一些代码,需要它自己实现.on(“drag”,..)。 如何从代码中删除以前的事件处理程序?

我尝试了以下方法:
.unbind()
selection.on("drag",null);

最佳答案

找到了答案:here

d3.select('rect#no-drag').on('mousedown.drag', null);

07-28 00:45