如何删除d3.behavior.drag()。on(“ drag”,...)事件处理程序

Ari*_*ant 3 javascript jquery svg event-handling d3.js

我将以下内容附加到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
}]);
Run Code Online (Sandbox Code Playgroud)

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

我尝试了以下方法:

.unbind()
selection.on("drag",null);
Run Code Online (Sandbox Code Playgroud)

Ari*_*ant 6

找到了答案:这里

d3.select('rect#no-drag').on('mousedown.drag', null);
Run Code Online (Sandbox Code Playgroud)