Javascript d3js:如何将按钮id传递给onclick回调函数
我知道回调函数可以访问绑定数据及其索引,但是如何向回调函数传递额外的参数呢 这是我尝试做的一个简化版本:Javascript d3js:如何将按钮id传递给onclick回调函数,javascript,d3.js,callback,Javascript,D3.js,Callback,我知道回调函数可以访问绑定数据及其索引,但是如何向回调函数传递额外的参数呢 这是我尝试做的一个简化版本: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <script src="https://d3js.org/d3.v4.min.js"></script> <body> <div id="viz
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<script src="https://d3js.org/d3.v4.min.js"></script>
<body>
<div id="viz">
<button id="one"> One </button>
<button id="two"> Two </button>
<button id="three"> Three </button>
</div>
</body>
<script>
// setup buttons
d3.select("#one").on("click", clickPrint("one"));
d3.select("#two").on("click", clickPrint("two"));
d3.select("#three").on("click", clickPrint("three"));
// callback function
function clickPrint(arg) {
console.log("You clicked on button:" + arg);
}
</script>
</html>
本质上,我希望所有按钮都访问相同的回调函数,但该函数需要知道哪个按钮调用了它。我知道回调函数通常不会有参数,即d3.selectone.onclick,clickPrint;,但这是我试图传递一个特定于按钮的参数。我知道我在实际工作中没有任何数据绑定-如果这与我的工作有某种关联,请告诉我
谢谢。如果您需要知道单击了什么按钮,您可以从下面的按钮中找到id,希望这就是您需要的 //设置按钮 d3.选择One.单击,单击打印; d3.选择两个。单击一次,单击打印; d3.选择三个。单击一次,单击打印; //回调函数 功能点击打印{ console.log this.id; } 一 二 三 啊,这又让我抓狂了。非常感谢。对于额外的积分,您知道我如何将实际参数传递给回调函数,即不仅仅是id?