addEventListener不适用于ajax生成的内容(纯javascript)

时间:2016-01-01 00:42:07

标签: javascript ajax

我通过“test”中的ajax(纯javascript)动态加载了div的内容。现在,当我点击索引6的子div时,我想要一个警告框出现,但事实并非如此。

如何使点击事件有效?如果ajax请求已完成,则调用Gets。它工作正常如果我删除eventlistener并只添加一个警告框,显示适当的内容。使用eventlistener,它完全无法将处理程序绑定到目标div上。

function gets(){
    document.getElementById("test").children[6].addEventListener("click", function() {
        alert(document.getElementById("test").children[6])
    })
}

1 个答案:

答案 0 :(得分:1)

可以使用事件委派修复此问题。

这是如何工作的一个例子:

function gets() {
  document.getElementById("test").addEventListener("click", function(event) {
    console.log(event.currentTarget.children[0])

  })

currentTarget 是指我们主动点击的元素,目标是父级。