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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将事件侦听器添加到新添加的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)
}

但它不起作用。

答案

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

它可能是如下:

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

topic1.addEventListener("click", function() {
  alert("Clicked");
});
另一答案

如果你想使用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');
});

以上是关于将事件侦听器添加到新添加的DOM元素的主要内容,如果未能解决你的问题,请参考以下文章

如何使用事件侦听器复制DOM节点?

事件监听器

JS DOM基础 事件概述 事件流 事件处理方法 添加监听器 事件类型 事件对象 事件委托

react 为元素添加自定义事件监听器

JavaScript事件委托

DOM中的事件委托