1

我正在用 JavaScript 玩 HTML5 画布元素。现在,当我创建一个外部文件时,我可以使用内部 JavaScript 在画布上绘制形状,我得到一个Uncaught Type Error. 我想做的就是通过一个外部文件在我的画布上画一个矩形。

这是我的 HTML:

<!DOCTYPE HTML>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>FireBlaster</title>
</head>

<body style="background:#111111">
    <div id="inner">
        <button id="drawSquareBtn" type="button">Draw Square</button>
        <canvas id="myCanvas" width="600px" ; height="400px;" style=" dispaly:block; background:#000000; margin:8% 25%;"></canvas>
    </div>
    <script type="text/javascript" src="game.js"></script>
</body>

</html>

这是我的 JavaScript:

//JavaScript Document
var canvasBg = document.getElementById('myCanvas');
var ctx = canvasBg.getContext('2D');

function drawSquare() {

    alert('your pressed a button!');
    ctx.fillStyle = "#0A0AFF";
    ctx.fillRect(200, 150, 150, 50);
}
var drawSquareBtn = document.getElementById('drawSquareBtn');
drawSquareBtn.addEventListener('click', drawSquare, false);
4

2 回答 2

3

d ingetContext("2d")需要小写。

现场演示

// Changed d to lower case
var ctx = canvasBg.getContext('2d');
于 2012-12-24T14:34:00.357 回答
0

错误的 : - var ctx = canvasBg.getContext('2D');

对 : - var ctx = canvasBg.getContext('2d');

D资本不创建实例。

于 2017-06-15T05:48:41.813 回答