2016-09-16 95 views
2

我是JavaScript新手,我正在学习它。当我这样做时,我遇到了这个我无法弄清楚的问题,我在这里寻求帮助。在画布上的document.getElementById返回null

这是网页,我是上,http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_canvas_empty

现在,我当我运行下面的控制台(萤火虫),它返回null。

为什么我在这里没有得到预期的结果?

+1

该网页使用iframe来保存样本文件。您的控制台正在查看主页面。 – Barmar

+0

@Barmar谢谢!我不会自己想出来的。 –

+1

大多数开发工具允许你选择你想运行代码的iframe。 – Oriol

回答

0

当调用draw函数时DOM已经被加载,这是正确的。

但是,var canvas = document.getElementById('control'); - 在这之前求值,因为它不在绘制函数中。它在元素渲染前的文档中立即执行。

我建议你改变你的初始化函数类似的东西

var canvas = document.getElementById('myCanvas'); 
var context = canvas.getContext('2d'); 
相关问题