【发布时间】:2013-05-22 04:01:39
【问题描述】:
我只是想通过以下代码使用 D3 获取鼠标位置:
var x = 0;
svg.on('mousemove', function () {
x = d3.mouse(this)[0];
});
但x 始终等于0。通过使用console.log(),我可以看到x 的值在function() 内部发生了变化,但其中x 的初始值是0。
如何保存x 值并稍后在我的应用程序中使用它?
【问题讨论】:
-
你能在 jsfiddle 中显示 sn-p 吗?
-
我不知道标记的答案如何解决这个问题。能否发个代码sn-p来说明一下?
-
他们正在做与上面相同的事情 (
d3.mouse(this)[0]),但首先将其存储在一个名为coordinates的数组中。换句话说,coordinates = [x,y] = d3.mouse(this)。这有帮助吗? -
这可能会产生什么影响?
-
问题与d3无关。这就是当您异步(在回调中)接收 x 的新值时 JS 的工作方式,您也必须在该回调中处理它。你可能会尝试在它之外处理它。
标签: javascript d3.js