将HTML元素添加到EventListener屁股回调函数中

时间:2018-09-26 12:37:04

标签: javascript

我有一个按钮,我想在其中将文件中的一些数据作为回调函数添加到事件监听器中

function jokesFunc(){
const allJokes = jokes.getJokes().map(joke => "<li>"+joke+"</li>");
document.getElementById("jokes").innerHTML = allJokes.join("");
};


document.getElementById("container").addEventListener('click', jokesFunc)

在这里,我做了一个回调函数,该函数应该在单击按钮时显示笑话,但是它说:

 Cannot read property 'addEventListener' of null

即使艰难,我在HTML代码中也有一个带有容器ID的元素

我已经创建了一个函数,只要单击它,它就会在我的“容器” div中添加“笑话”元素,但是由于它是匿名函数,如何传递回调函数?

1 个答案:

答案 0 :(得分:0)

如果您确定文档中有#容器,那么这是一个微妙的问题。 请我没有解决方案,但有指南可以帮助您了解正在发生的事情。 (1)检查所有其他代码是否可以出售其他ID (2)注释掉所有代码,并检查是否可以选择一个id并为其添加addEventListener。 请注意,如果您将事件监听器添加到页面加载期间不可用的元素,则js将引发错误。 通过运行文件(检查文件)来检查常量allJokes是否具有值