【发布时间】:2019-05-01 02:38:13
【问题描述】:
我尝试实现自动完成输入。我希望当用户单击新添加的 li 元素时,输入值将是 li 元素的值。但是,这个 addEventListener 似乎在这个函数中不起作用。我可以知道为什么吗?我认为每个新的 li 元素在我向它们添加事件侦听器之前都会创建。
function displayMatches(matchesArr) {
var newLi;
for (let j of matchesArr) {
newLi = document.createElement('li');
newLi.innerHTML = `<li id="${j.replace(/\s/g,'')}">${j}</li>`;
autoResults.innerHTML += newLi.innerHTML;
document.getElementById(j.replace(/\s/g, '')).addEventListener("click",
function(e) {
alert("Hello World!");
})
}
}
如果我使用 NewLi,它也不起作用。
newLi.addEventListener("click",
function(e) {
alert("Hello World!");
})
【问题讨论】:
-
您真的要将一个 LI 放入另一个 LI 中吗?
-
@Ying 我已经删除了我的答案,因为它不正确。祝你好运!
-
您好!不,我想将 li 添加到已经在 html 中的 ul
标签: javascript addeventlistener