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

时间:2018-03-02 07:32:06

标签: javascript dom

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

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

我们尝试使用eventlistener

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

但它不起作用。

2 个答案:

答案 0 :(得分:1)

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

可能如下:



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

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




答案 1 :(得分: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');
});