将事件侦听器添加到新添加的DOM元素

问题描述 投票:0回答:2

如何使用函数调用通过js创建的ID,但不是初始html的一部分

var topic1 = document.createElement("div")
document.body.appendChild(topic1)

我们尝试使用eventlistener

var ff15 = document.getElementById("topic1")
if(ff15){
    ff15.addEventListener("click", response1)
}

但它不起作用。

javascript dom
2个回答
1
投票

您可以直接使用变量topic1将事件侦听器绑定到它。您不必使用document.getElementById再次访问该元素。

它可能是如下:

var topic1 = document.createElement("div");
topic1.innerText = "Some text";
document.body.appendChild(topic1);

topic1.addEventListener("click", function() {
  alert("Clicked");
});

0
投票

如果你想使用id,请将div添加到getElementById

const topic1 = document.createElement('div');
topic1.id = 'topic1';
document.body.appendChild(topic1);

const item = document.getElementById('topic1');
item.addEventListener('click', () => {
  alert('what');
});

但是如果你没有做任何其他事情,你可以直接使用topic1

topic1.addEventListener('click', () => {
  alert('what');
});
© www.soinside.com 2019 - 2024. All rights reserved.