为什么画布上没有画线?

时间:2012-09-14 14:46:12

标签: javascript html5 html5-canvas

我正在使用html 5在画布上用一个按钮绘制一条线。

有人知道为什么吗?

<!DOCTYPE html>
<html>

 <body onload="">

<canvas id="myCanvas" width="400" height="200" style="border:1px solid #000000;">
  Your browser does not support the HTML5 canvas tag.
</canvas>
<button name="draw" onclick="drawLine()">Draw Line</button>
<script type="text/javascript" src="canvashtml5.js" ></script>

</body>
</html>

darwLine函数在外部javascript上作为canvasHtml5.js:

function drawLine(){
   var canvas = document.getElementById(myCanvas);
   var context = canvas.getContext("2d");
   context.moveTo(0,0);
   context.lineTo(300,150);
   context.stroke();
}
myCanvas
{
   var c=document.getElementById("myCanvas");
   var ctx=c.getContext("2d");
   ctx.fillStyle="#FFFF00";
   ctx.fillRect(0,0,150,75);
}

2 个答案:

答案 0 :(得分:0)

我忘了把myCanvas这样说成:“myCanvas”。

这个var canvas = document.getElementById(myCanvas);必须像var canvas = document.getElementById("myCanvas");

答案 1 :(得分:0)

替代:

为您的按钮添加一个事件监听器,如下所示:

document.getElementById('drawLineBtn').addEventListener('click', drawLine, false);

这将减少您将来的工作。见http://jsfiddle.net/kbXAN/23/