我已阅读详细说明如何使用onclick = function(){};
动态生成onclick事件的帖子。
但是,我无法弄清楚如何成功地将参数传递给这个匿名onclick函数中的函数。
<div id="container"></div>
<script>
function subFunction(arg) {
console.log(arg);
}
function myFunction() {
var container = document.getElementById("container");
var list = {
"one": "cat",
"two": "dog",
"three": "fish"
};
for (item in list) {
var clickable = document.createElement("div");
clickable.innerHTML = list[item];
clickable.onclick = function() {
subFunction(item);
}
container.appendChild(clickable);
}
}
myFunction();
</script>
这应该给我
<div>cat</div>
<div>dog</div>
<div>fish</div>
点击每个div后,控制台将记录one
two
和three
...但是控制台只记录three
。如何让subFunction
正确记录对象属性?