拖动功能不适用于d3

时间:2015-10-07 01:22:51

标签: javascript html d3.js

我的拖动行为如下所示:

 var boxDrag = d3.behavior.drag()
    .origin(function (d) {
        return d;
    })
    .on("drag", drawBox);

function drawBox( /*d*/ ) {
    console.log("asdf");
}

它只是一个临时骨架,但它似乎在解决有关未定义x等的错误。

错误

error

以下是完整代码:http://jsfiddle.net/gamea12/5zsj853h/

1 个答案:

答案 0 :(得分:1)

在你的小提琴中,你有:

var boxDrag = d3.behavior.drag()
    .origin(function (d) {
        return d;
    })
    .on("drag", drawBox);

但是,在这种情况下,d未定义,这会导致您的错误。 将此更改为:

var boxDrag = d3.behavior.drag()
    .origin(function (d) {
        return this;
    })
    .on("drag", drawBox);

应该为你解决问题。