表内的JS事件不会触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表内的JS事件不会触发相关的知识,希望对你有一定的参考价值。
使用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);
}
哪个在我的程序中不起作用。我创建了一个代码片段,但它正在运行。它可以与循环中的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>
答案
伙计,你的代码就在这里工作。
另一答案
您尚未在代码中调用该函数。这就是为什么它不起作用。而是在脚本标记内或外部js文件中,添加没有函数的代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="master.css">
</head>
<body>
<table id="rows">
</table>
</body>
<script type="text/javascript">
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);
</script>
</html>
这有效吗?
以上是关于表内的JS事件不会触发的主要内容,如果未能解决你的问题,请参考以下文章