为什么 D3 拖动不起作用?

Why does D3 Drag not work?

所以我正在尝试测试拖动选项,但我在这里遇到了一个特殊问题。

这就是我的。

selection = d3.select('.right.menu');
var drag = d3.behavior.drag();
selection.call(drag)
selection.on('drag',function(){
 console.log(this);
})

这只是不打印 console.log(this);

但是如果我尝试

selection.on('click',function(){
     console.log(this);
    })

开始打印 console.log();

我想我在这里遗漏了一些东西,但我不确定。

我的第一个想法是这是一个语义-ui 问题,因为它们将 DOM 元素放在某处,并且由于某种原因拖动事件不起作用,但我放弃了该选项是因为 click event 正在工作。

如果稍微更改一下,更改顺序并将 drag 指定为 eventListener 会怎么样。

var drag = d3.behavior.drag();
drag.on('drag',function(){
 console.log(this);
})
selection = d3.select('.right.menu');
selection.call(drag);