如何在SVG元素上添加dragend事件

3

我正在使用D3.js拖动SVG元素,使用D3.js拖动的概念。拖动效果很好,但是我想在拖动结束时调用一个函数。如何做到呢?

这里是jsFiddle链接。我只想在拖动结束时调用一个函数。

我应该尝试什么呢?

var drop = d3.behavior.drag()
  .on("dragend", function () { alert(); });
2个回答

8

您似乎正在尝试进行某种嵌套拖动操作,以下方法应该适用:

 var drag1 = d3.behavior.drag()
    .on("drag", dragmove)
    .on("dragend", function () { alert("drag ended"); });

完整示例:http://jsfiddle.net/xnjGD/

2
在D3 v4中,这已经更改为end而不是dragend示例 - podcastfan88

0

如果还有人需要类似的功能,需要注意一下,d3.behaviour已经被弃用,以及dragend。如果你仍然需要这些功能,应该像这样实现:

d3.drag().on("end", (_event, dimension) => {
    console.log("alert ended for : " dimension)
  })

(更多信息请参见:https://github.com/d3/d3/blob/master/CHANGES.md#dragging-d3-drag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接