gpt4 book ai didi

Html 5 canvas getElementById() 返回 null/undefined

转载 作者:行者123 更新时间:2023-11-27 23:54:00 25 4
gpt4 key购买 nike

代码如下:

HTML:

<body onload="initializeMap()">
<div id="map_canvas" style="width:100%; height:100%; z-index:1"></div>
<canvas id="control" style="width:100%; height:100%; z-index:2">Does Not Support Canvas Element</canvas>
</body>

Javascript:

<script type="text/javascript">
var canvas = document.getElementById('control');
var context = canvas.getContext('2d');

function draw(){
context.font = "bold 12px sans-serif";
context.fillText("x", 248, 43);
}
</script>

绘制函数在谷歌地图初始化后被调用,所以 DOM 应该已经加载了,对吗?我可能做错了什么?

最佳答案

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

但是 var canvas = document.getElementById('control'); -line 在此之前被评估,因为它不在 draw 中-功能。它在 <head> 中立即执行呈现元素之前的文档。

我建议您将 init 函数更改为类似的东西

var canvas,context;
function initializeMap() {
canvas = document.getElementById('control');
context = canvas.getContext('2d');
}

关于Html 5 canvas getElementById() 返回 null/undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56373560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com