【发布时间】:2020-06-06 17:06:06
【问题描述】:
我有创建动态元素的 JS。我想将 onclick 事件添加到这些元素并将调用元素的 ID 传递给事件处理程序,以便我可以使用 JS 更改被单击元素的文本。
我通过在循环中执行类似的操作来做到这一点:
var btnID = "button-" + x; // unique id for changing element inside of test()
/* desired result is <button onclick="test(<runtime value of btnID>)"></button> */
buttonElement.onclick = function () { test(btnID) };
不幸的是,结果是每个按钮元素都将循环中最后一个元素的btnID 传递给test()。有人可以解释为什么会这样吗?
【问题讨论】:
标签: javascript dom event-handling