我收到错误消息Uncaught TypeError: Cannot read property 'getContext' of null,文件中的重要部分在…我想知道,因为game.js在下面的目录中,所以找不到画布?我该怎么办?
Uncaught TypeError: Cannot read property 'getContext' of null
./index.html:
<canvas id="canvas" width="640" height="480"></canvas>
./javascript/game.js:
var Grid = function(width, height) { ... this.draw = function() { var canvas = document.getElementById("canvas"); if(canvas.getContext) { var context = canvas.getContext("2d"); for(var i = 0; i < width; i++) { for(var j = 0; j < height; j++) { if(isLive(i, j)) { context.fillStyle = "lightblue"; } else { context.fillStyle = "yellowgreen"; } context.fillRect(i*15, j*15, 14, 14); } } } } }
我想问题是您的js在加载html之前运行。
如果使用的是jquery,则可以使用文档就绪函数包装代码:
$(function() { var Grid = function(width, height) { // codes... } });
或者只是将您的js放在。