在d3匿名函数中访问局部变量

时间:2016-02-17 07:02:28

标签: javascript d3.js anonymous-function

我正在使用d3和javascript,我是他们的新手。我试图在匿名函数中传递一个变量进行点击,但我无法让它工作。这是一个例子:

var someVariable=xyz;
var mapModel=someObj;


svg.append("g")
    .style("display","table")
    .style("margin","0 auto")
    .data(topojson.feature(mapModel, mapModel.objects[objdisplay]).features)
    .enter()
    .append("path")
    .attr("id", function(d) { return d.id; })
    .attr("d", this.path)
    .on("click",function(d){
            alert(someVariable + d.id)
    });

我需要访问匿名函数中的somevariable以进行点击,但似乎无法使其正常工作。此问题可能之前已被问过,但有人可以帮助我朝着正确的方向前进。谢谢

1 个答案:

答案 0 :(得分:-2)

您不能以这种方式访问​​点击功能中的'someVariable'。 试试这个......

var someVariable=xyz;
svg.append("g")
    .style("display","table")
    .style("margin","0 auto")
    .enter()
    .append("path")
    .data([{'someVariable':someVariable}])
   .on("click",function(d){
            alert(d.someVariable + d.id)
    });