d3js:如何停止所有转换?

d3js: How to stop all transitions?

我有一个带有 d3js 和 turbolinks 的网络应用程序(ajax 导航)。

我的一些页面包含一个长 运行 过渡(超过 100 秒),因此当页面的一部分重新加载 AJAX 时,上一页的所有过渡仍然 运行宁.

如何完全删除所有原始页面的转换?

在 turbolinks 中有一个名为“page:before-unload”的事件,所以我打算用它来清理。

看了你们的评论,我觉得这行得通:

d3.selectAll('*').transition();

但是正如 Lars Kotthoff 所说,当 svg/canvas 被销毁时转换将被销毁,所以如果您要销毁 svg/canvas,则不需要这样做。