0

我正在查看 Mike Bostock 的D3.js粒子示例。

我已经在本地复制并粘贴了代码,根本没有更改任何内容。我正在使用 SimpleHTTPServer 运行代码,因此在本地运行不应该有任何安全问题。

每当我将鼠标悬停在正文上时,我都会在控制台中看到以下错误:

Uncaught TypeError: Object #<Object> has no method 'mouse' 

有谁知道可能会发生什么?任何人都可以让它在本地工作吗?

谢谢。

4

2 回答 2

1

你真的硬拷贝了整个引用的库吗?这可能是域间引用问题。你直接引用了http://mbostock.github.com/d3/d3.js?1.25.0吗?可能是,这在该域之外是不可能的。

于 2013-01-17T13:59:33.710 回答
1

有一种方法可以修复代码,以便您可以在http://d3js.org/d3.v3.min.js参考最新版本的 D3

你得到的错误是由行 var m = d3.svg.mouse(this); 将其更改为 var m = d3.mouse(this); 你应该没事。

请参阅此处的发行说明,了解从 D3 v2 到 v3 的更改: https ://github.com/mbostock/d3/wiki/Upgrading-to-3.0

具体来说:

“SVG:别名 d3.svg.mouse 和 d3.svg.touches 已被删除;改用 d3.mouse 和 d3.touches。这些方法是相同的,并且在早期的次要版本中移动,该版本也增加了对 HTML 的支持作为 SVG 元素。”

于 2013-09-29T15:40:21.103 回答