我有一些 DOM 元素是通过事件和 clousure 动态创建的。
像这样的东西:
var container = document.getElementById("container");
var objects = [{ name: "test" }, {name: "test2"}]
for(var i = 0; i < objects.length; i+=1){
var dom = document.createElement("div");
dom.addEventListener("click", (function(obj){
return function(){
alert(obj.name);
};
}(objects[i]), false);
container.appendChild(dom);
}
我的问题是我该如何使用事件委托呢?所以所有的点击事件都在#container dom 上,但仍然有与 dom 关联的 obj-object。
我想我可以使用另一个对象并将其用作“散列”表,带有 dom 元素和 obj,然后在“散列”表上使用 e.target,但没有更好的解决方案吗?