Angular 4 + D3v4 : dragging circle not working correctly in conjunction with zooming

标签 angular d3.js

我正在尝试在 Angular 4 应用程序中创建 D3 力导向图 ( https://github.com/d3/d3/blob/master/API.md#forces-d3-force )。

它可以通过自身正确地进行拖动,通过自身进行缩放和平移,但是当您同时使用它们(拖动和缩放)时,它就会停止错误地工作。

我拖动一个圆圈,当我停止拖动时,看起来圆圈仍处于选中状态并继续拖动。

我已经创建了一个示例项目,代码可以在这里找到:https://github.com/danielamigos/angular-graphs

要查看实际效果,请点击此处:https://danielamigos.github.io/angular-graphs/dist/index.html

最佳答案

正如 rioV8 提到的,这个问题是节点平移和平移 Canvas 同时工作。所以解决方案是,当拖动一个节点时,停止平移 Canvas 。这可以通过在我们拖动节点时停止事件的传播来完成。所以在dragstarted(d)事件处理程序中,在开头加入这行代码:

d3.event.sourceEvent.stopPropagation();

关于 Angular 4 + D3v4 : dragging circle not working correctly in conjunction with zooming,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47067774/

相关文章:

javascript - Phonegap 中的 Angular 2 不起作用(纯 JavaScript)

javascript - 如何使用angular8为循环项目的电子邮件和传真显示每一行的验证错误

css - 我无法在元素中使用node-bourbon

AOT 中未提供 Angular 提供程序

javascript - Meteor 发布/订阅延迟时间

javascript - 使用js将svg矩形添加到dom

javascript - 使用 D3 设置下拉菜单的默认选择

javascript - D3.js 绕中点旋转轴标签

javascript - 更改数据后强制图表不更新

javascript - 如何随着缩放级别的变化调整 map 上 SVG 图像的大小?