gpt4 book ai didi

javascript - 动态设置函数参数

转载 作者:行者123 更新时间:2023-11-29 14:52:47 26 4
gpt4 key购买 nike

您好,我确实有以下代码示例,其中我试图为每个元素提供不同的 onClick 功能:

for (var i = 0; i < sizex; i++) {
for (var j = 0; j < sizey; j++) {
var canvas = document.createElement("CANVAS");
var id = i * 10 + j;
canvas.id = "canvas" + id;
canvas.width = 25;
canvas.height = 25;
canvas.style = "border:1px solid black";
canvas.onclick = function() {
canvasClicked(id);
};

document.body.appendChild(canvas);
}
}

问题是它总是用 id = sizex * 10 + sizey 调用

我可以将 canvasCliced 的参数传递给谁,这样这个函数对于每个 Canvas 都是“不同的”?

最佳答案

使用闭包。

更改您的点击处理程序

canvas.onclick = function() {
canvasClicked(id);
};

形成一个闭包,其中变量的范围是可访问的。

canvas.onclick = function(nId) {
return function() {
canvasClicked(nId);
}
}(id);

关于javascript - 动态设置函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22847959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com