如何使d3.js v3.4与v3.1相同的行为拖动?

时间:2014-01-29 11:19:13

标签: javascript d3.js click drag behavior

我接下来是代码:

vis.forceRep.circle.enter()
    .append("g")
    .attr("class", "cRepo")
    .attr("transform", tr)

    .on("mouseover.select", vis.meRepo)
    .on("mouseout.select", vis.mlRepo)

    .on("mousemove.mtt", vis.mtt)

    .on("click.select", vis.clRepo)

    .call(vis.forceRep.drag)
;

进入v3.1,我们有以下行为:

  • 拖动不是选择节点。 (MouseDown - > MouseMove - > MouseUp)。
  • 单击是选择一个节点。 (MouseDown - > MouseUp)。

现在进入v3.2 +:

  • 拖动==点击。这是在MouseUp.drag之后拖动Click事件引发的。

如何解决?

1 个答案:

答案 0 :(得分:0)

解决方案

vis.clRepo = function() {
    if (d3.event.defaultPrevented)
        return;
    /* handle the click event */
}

在此answer

中找到