首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >单击鼠标事件-- D3 & DragEnd

单击鼠标事件-- D3 & DragEnd
EN

Stack Overflow用户
提问于 2013-09-29 15:01:47
回答 1查看 31.3K关注 0票数 21

在D3中,如果您像这样定义了一个拖动函数:

代码语言:javascript
复制
var drag = d3.behavior.drag()
        .on("drag", function () {alert("drag")})
        .on("dragend", function () {alert("dragEnd")});

你真的不能做以下事情:

代码语言:javascript
复制
d3.select("#text1")
.on("click", function(d,i) {alert("clicked")})
.call(drag);

原因是点击会在"dragend“触发之后被触发。在我看来,点击应该有一个单独的事件,因为我看到了拖动和点击之间的巨大区别。

要区分SVG元素中的单击和拖动事件的结束,解决方案是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-02-05 23:00:13

从4.9.0开始,有了.clickDistance(),你就可以控制在什么距离之后移动(从你开始拖动的地方),你将不会得到click事件。

请注意,如果在释放按钮之前从DOM中删除元素(例如,通过在drag处理程序中使用.raise() ),则可能会获得任何click事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19075381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档