我在向动态创建的元素添加事件监听器时遇到了一些麻烦。
我有一个对象列表,代表玩家所玩的匹配。还有一个循环遍历它们,为每个匹配创建4个按钮,一个+ 1,一个+ 2,一个-1和一个END按钮。< / p>
但是,即使它们已经很好地创建,并且附加在它们应该的位置,也不会保留事件侦听器。以下是我的代码示例:
var container = document.getElementById('container');
for (var i = 0; i < matches.length; i++) {
var row = document.createElement("div");
row.className = "row";
var plusOne = document.createElement("a");
plusOne.id = "plusone_ " + matches[i].id;
plusOne.addEventListener('click', function () {
alert('Clicked on plusOne!')
});
...
// adding plus two, minus one and END the same way
// however, END does have an eventListener on click
row.appendChild(plusOne);
container.appendChild(row);
}
如果有人知道为什么?