要解决按钮始终返回最后一个ID的问题,你可以使用闭包来保存每个按钮对应的正确ID。这样,无论按钮被点击多少次,闭包都会记住正确的ID。以下是一个示例代码:
function createButton(id) {
return function() {
console.log("Button with ID: " + id + " is clicked.");
}
}
// 创建按钮1
var button1 = createButton(1);
// 创建按钮2
var button2 = createButton(2);
// 创建按钮3
var button3 = createButton(3);
// 模拟按钮点击事件
button1(); // 输出 "Button with ID: 1 is clicked."
button2(); // 输出 "Button with ID: 2 is clicked."
button3(); // 输出 "Button with ID: 3 is clicked."
在这个示例中,createButton函数返回一个匿名函数,并将正确的ID作为参数传递给匿名函数。每个按钮都通过调用createButton函数来创建,并将对应的ID传递给它。当按钮被点击时,返回的匿名函数将输出正确的ID。
通过使用闭包,每个按钮都有自己的作用域,可以记住它被创建时的ID。这样,每个按钮的点击事件都会输出正确的ID,而不是最后一个ID。
上一篇:按钮始终保持正方形,但高度可变。
下一篇:按钮始终在最前面。