我通过“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])
})
}
答案 0 :(得分:1)
可以使用事件委派修复此问题。
这是如何工作的一个例子:
function gets() {
document.getElementById("test").addEventListener("click", function(event) {
console.log(event.currentTarget.children[0])
})
currentTarget 是指我们主动点击的元素,目标是父级。