我有一个基于数据生成图形的函数。在其中,我已经初始化了d3js并将散点图添加到散点图中。
function gen_graph(data) {
// Some other code in middle
var svg = d3.select("#chart").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
svg.selectAll(".dot")
.data(gdata)
.enter().append("svg:circle")
.on("click", function(d) {
svg.selectAll(".dot").style("fill","#cfcfcf");
d3.select(this).style("fill","red");
})
}
目前我的onclick()
我正在使用d3.select(this)
来获取对象并更新其当前值,因此我无法在函数gen_graph()之外引用它。
我有另一个函数,假设函数fun1()
在某些事件上想要触发svg.on("click" ....)
。我如何访问gen_graph()
范围之外的svg?