【发布时间】:2017-12-18 07:15:45
【问题描述】:
当使用 JS 创建一个表并在该表内有一个按钮时,该按钮上有一个 eventListener,单击该按钮时不会触发该事件。我在 forEach-Loop 中调用这个函数来动态构建我的表,并为每个按钮应用事件监听器。
这是我的原始代码:
static createList(item) {
let table = document.getElementById("rows")
let row = table.insertRow();
let cell_1 = row.insertCell();
cell_1.innerHTML = item.id_recipient_sms;
let cell_2 = row.insertCell();
cell_2.innerHTML = '<input type="text" placeholder="' + item.phone_number + '" id="smsRecipient' + item.id_recipient_sms + '">';
var inputElement = document.createElement('input');
inputElement.type = 'button';
inputElement.id = item.id_recipient_sms;
inputElement.addEventListener('click', function() {
console.log(item.id_recipient_sms)
});
let cell_3 = row.insertCell();
cell_3.appendChild(inputElement);
}
这在我的程序中不起作用。我创建了一个代码 sn-p,但它正在工作。 它与循环中的 addEventListener 有什么关系吗? 我仍然无法在我的原始代码中找到错误。
let table = document.getElementById("rows")
let row = table.insertRow();
let cell_1 = row.insertCell();
cell_1.innerHTML = "cell1";
let cell_2 = row.insertCell();
cell_2.innerHTML = "cell2";
var inputElement = document.createElement('input');
inputElement.type = 'button';
inputElement.addEventListener('click', function() {
alert("It Works here");
});
let cell_3 = row.insertCell();
cell_3.appendChild(inputElement);
<table id="rows">
</table>
【问题讨论】:
标签: javascript button click addeventlistener