首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用addEventListener调用Javascript addEventListener

如何用addEventListener调用Javascript addEventListener
EN

Stack Overflow用户
提问于 2022-09-26 19:42:05
回答 1查看 49关注 0票数 0

我调用了一个回调onload,它工作了,但是在控制台中留下了一个TypeError: Failed to execute 'addEventListener' on 'EventTarget': parameter 2 is not of type 'Object'

代码语言:javascript
复制
document.addEventListener('load', setTimeout(callBack, 2000));

function callBack(){
    const data = JSON.parse(localStorage.data);
    const tbody = document.getElementById("info");
    for (let obj in data){
        let td = document.createElement('td');
        let text = document.createTextNode(`${data[obj]}`);
        td.appendChild(text);
        tbody.appendChild(td);
    }
};

here也有一个类似的问题,引发了这些变化:

代码语言:javascript
复制
document.addEventListener('load', function(){setTimeout(callBack, 2000)});

document.addEventListener('load', function(){setTimeout(callBack(), 2000)});

它不显示,我也没有异常的变化。

编辑:在更改事件侦听器行时,我的HTML中没有数据-因此callBack没有被处理或调用。

EN

回答 1

Stack Overflow用户

发布于 2022-09-26 20:31:02

使用示例代码,您将调用一个函数并将该函数的返回值传递给事件侦听器。

您应该传入一个函数,当事件发生时,事件侦听器将为您执行该函数。

代码语言:javascript
复制
window.addEventListener("DOMContentLoaded", function(e){
  setTimeout(callback, 2000);
});

function callback() {
  const data = JSON.parse(localStorage.data);
  const tbody = document.getElementById("info");
  for (let obj in data) {
    let td = document.createElement('td');
    let text = document.createTextNode(`${data[obj]}`);
    td.appendChild(text);
    tbody.appendChild(td);
  }
};

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73859169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档