首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我会有这个错误,我不知道为什么?sketch.js:18 Uncaught :无法读取sketch.js:18的null属性'addEventListener‘

为什么我会有这个错误,我不知道为什么?sketch.js:18 Uncaught :无法读取sketch.js:18的null属性'addEventListener‘
EN

Stack Overflow用户
提问于 2020-09-21 11:18:33
回答 1查看 77关注 0票数 0

我从我的控制台得到了这个错误。

sketch.js:18 Uncaught TypeError:无法读取sketch.js:18的空属性“addEventListener”

我不知道为什么?

这是我的Html代码。

代码语言:javascript
复制
    <!DOCTYPE html>
<html>

<head>
  <script src="js/p5.js"></script>
  <script src="js/p5.dom.min.js"></script>
  <script src="js/p5.sound.min.js"></script>

  <script src="https://cdn.jsdelivr.net/npm/socket.io-client@2/dist/socket.io.js"></script>
  <script src="https://code.jquery.com/jquery-1.11.1.js"></script>
  <script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

  <script src="sketch.js"></script>

  <link rel="stylesheet" type="text/css" href="css/stylegenerator.css">
  <meta charset="utf-8">
</head>

<body>
<div>
    <button>Random</button>
    <h1>Result</h1>
</div>
</body>

</html>

这是我的javascript代码。

代码语言:javascript
复制
    var txt;

let btnRandom = document.querySelector('button');
let result = document.querySelector('h1')

function preload() {
    txt = loadStrings("license.txt");
}

function getRandomNumber(min, max){
    let step1 = max - min +1;
    let step2 = Math.random() * step1;
    let result = Math.floor(step2) + min;

    return result;
}

btnRandom.addEventListener('click', () => {
    let index = getRandomNumber(0, txt.length-1);
    result.innerText = txt[index];
})

function setup(){
    noCanvas();
}

请帮帮我。我不知道如何纠正这个错误。

我正在使用visual studio代码和p5.js。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-21 11:34:36

您正在尝试访问Javascript之后启动的元素。可以通过在要选择的HTML元素之后加载js文件来修复此问题:

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<head>
  <script src="js/p5.js"></script>
  <script src="js/p5.dom.min.js"></script>
  <script src="js/p5.sound.min.js"></script>

  <script src="https://cdn.jsdelivr.net/npm/socket.io-client@2/dist/socket.io.js"></script>
  <script src="https://code.jquery.com/jquery-1.11.1.js"></script>
  <script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>

  <link rel="stylesheet" type="text/css" href="css/stylegenerator.css">
  <meta charset="utf-8">
</head>

<body>
<div>
    <button>Random</button>
    <h1>Result</h1>
</div>

<script src="sketch.js"></script>

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

https://stackoverflow.com/questions/63991191

复制
相关文章

相似问题

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