如何在函数外更新d3js元素属性?

时间:2014-04-19 06:28:12

标签: javascript d3.js

我有一个基于数据生成图形的函数。在其中,我已经初始化了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?

0 个答案:

没有答案