如此处所述,以下http://www.mennovanslooten.nl/blog/post/62/代码的输出结果仅是“ 5x5”之前忘记了任何内容的结果。
for (x = 1; x <= 5; x++) {
for (y = 1; y <= 5; y++) {
var cords = x+"x"+y;
var el = document.getElementById(cords);
el.addEventListener("click", function (e) { B_modeWindow('1', cords); });
}
}
据我所知,信息(上面提供的博客链接)无法弄清楚如何更改显示的代码来修复它。
如何在我的for循环中使用JavaScript封闭处理这些代码?
编辑:我不明白。变量定义很好。测试:
for (x = 1; x <= 5; x++) {
for (y = 1; y <= 5; y++) {
var cords = x+"x"+y;
alert(cords);
}
}
最佳答案
使用您需要将其关闭的任何参数作为参数调用该函数。在这种情况下,这是cords
。
for (x = 1; x <= 5; x++) {
for (y = 1; y <= 5; y++) {
var cords = x + "x" + y;
var el = document.getElementById(cords);
(function(cords) {
el.addEventListener("click", function (e) { B_modeWindow('1', cords); });
})(cords);
}
}