我有一个将元素生成到 div 中的 for 循环,并且我希望每个元素调用相同的函数但具有唯一的 id。
for(var i = 0; i < 10; i++)
{
var p = document.createElement("p");
var t = document.createTextNode("asdf");
p.appendChild(t);
p.addEventListener("click", function(e){popup(e, i);}, false);
document.getElementById("someDiv").appendChild(p);
}
比方说,功能是:
function popup(e, id)
{
//do stuff with the mouse event and get data according to the id
}
所以我需要鼠标事件对象。
当前的代码确实生成了元素,但是每次单击都会调用具有与参数相同的 id 的函数(10 作为 id 被发送,鼠标事件工作正常)。
任何想法表示赞赏!提前致谢。