javascript - 无法读取 null 类型的事件监听器的属性

标签 javascript

我的 javascript 文件在使用 Visual Studio 代码时遇到问题。我有一个示例 HTML 文件。

    <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js"></script>
</head>
<body>
    <p> hello with JSON</p>
    <button id="btn">click me!</button>
</body>
</html>

我正在尝试向我添加的按钮添加事件监听器

const btn = document.getElementById("btn");


btn.addEventListener("click", getData)


function getData(){
    fetch('https://jsonplaceholder.typicode.com/users')
    .then((res) => { return res.json() })
    .then((data) => { 
        console.log(data);
    });
}

为什么会出现这个问题?

最佳答案

如果您不想重构大部分代码,请添加 defer将关键字添加到您的脚本标记中,如下所示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js" defer></script>
</head>
<body>
    <p> hello with JSON</p>
    <button id="btn">click me!</button>
</body>
</html>

关于javascript - 无法读取 null 类型的事件监听器的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52914448/

相关文章:

javascript - AngularJS:如何在 ng-repeat 开始之前运行代码?

javascript - 更改 javascript 弹出窗口,以便文本不会超出页面范围

javascript - jQuery Select2 没有在任何地方关闭(也不在他们自己的网站上)

javascript - jquery XML 解析最后 3 个文档

javascript - jQuery:无法通过数据查找元素

javascript - 无法在 React Material-UI 的 useState 中设置值

javascript - 如何在 JavaScript 中四舍五入数百万?

javascript - d3.js 在变换行中给出 NAN

javascript - Sequelize - 从具有 hasMany 关系的现有实例创建新的关系记录

javascript - 绘制简单 SVG 路径的脚本会降低整个 PC 的速度