我计算机浏览器上的addEventListener出现故障

时间:2019-01-16 20:03:15

标签: javascript html addeventlistener

我完美地编写了用edu-book写的代码。但是,它不起作用!

我认为window.addEventListener出现了问题。当我将代码修改为其他未使用addEventListener函数的代码时,js和html源代码可以很好地工作。我尝试更改浏览器(Chrome,资源管理器)更改计算机,但未更改操作系统。

而且诸如imgPlayer.addEventListener也不起作用。我不知道为什么addEventListener在浏览器上不起作用。

JS:

window.addEventListener("load",drawScreen,false);

var imgBackground = new Image();
imgBackground.src = "img/background.jpg";
imgBackground.addEventListener("load",drawScreen,false);

var imgPlayer = new Image();
imgPlayer.src = "img/player.jpg";
imgPlayer.addEventListener("load",drawScreen,false);

function drawScreen()
{
  var theCanvas = document.getElementsById("GameCanvas");
  var Context = theCanvas.getContext("2d");

  Context.fillStyle = "#000000";
  Context.fillRect(0,0,800,600);
  Context.drawImage(imgBackground,0,0);

  Context.drawImage(imgPlayer,350,250);
}

HTML:

<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset = "UTF-8" />
    <title> 총알 피하기 </title>
    <script src = "DodgeGame.js"></script>
  </head>
  <body>
  <div style="position: absolute; top: 25px; left: 25px">
    <canvas id="GameCanvas" width="800" height="600">
      지원 ㄴㄴ해
    </canvas>
  </div>
  </body>
</html>

2 个答案:

答案 0 :(得分:0)

我认为您需要内联声明处理程序函数

  window.addEventListener("load", function(event) {
    console.log("Tutte le risorse hanno terminato il caricamento!");
  });

答案 1 :(得分:0)

您遇到的问题在此行中:

var theCanvas = document.getElementsById("GameCanvas");

方法getElementsById()不存在-应该为getElementById()。用以下代码替换上面的代码行:

var theCanvas = document.getElementById("GameCanvas");

您的代码应该可以工作。