在"click"事件回调中将参数传递给d3

row*_*oat 5 javascript d3.js

这是我的代码:

function toggleClass(element, className){
  d3.select(element).classed(className, !d3.select(element).classed(className));
}

d3.selectAll("rect").on("click", toggleClass(this, "clicked");
Run Code Online (Sandbox Code Playgroud)

我无法让它工作,似乎将参数传递给DOM事件是坏消息.有谁知道解决这个问题?

谢谢

row*_*oat 9

这有效:

function toggleClass(element, className){
  d3.select(element).classed(className, !d3.select(element).classed(className));
}

d3.selectAll("rect").on("click", function () {
  toggleClass(this, "clicked");
});
Run Code Online (Sandbox Code Playgroud)

这是工作小提琴:http://jsfiddle.net/g45Ju/

感谢jshanley