【发布时间】:2012-05-15 21:14:19
【问题描述】:
我不确定这是 d3.js 问题还是 javascript 可见性问题。我有两个函数将相同的事件侦听器分配给不同的节点:
function render_line(){
var x = d3.scale.ordinal();
...
d3.select("#my_line").on("click", onclick);
}
function render_bar(){
var y= d3.scale.linear();
...
d3.select("#my_bar").on("click", onclick);
}
function onclick(d,i){
use(x,y) // error: can't access x or y
...
}
我认为render_line() 和render_bar() 共享相同的事件侦听器函数是有意义的,因为单击一个也应该更新另一个,但我不知道如何解决变量范围问题。
【问题讨论】:
-
onclick处理程序真的需要同时访问 x 和 y,还是只想访问其中一个? -
两者,除了 x 和 y 还有其他变量,例如 2 个 svg 标签的占位符(一个用于线条,另一个用于条形)
标签: javascript d3.js