javascript - GetContext() 不起作用

标签 javascript canvas

我正在使用常规 JS(我知道这不是最好的,但我是初学者)

所以我正在为 Canvas 项目编写代码。然而,当使用 getContext() 函数时,JS 控制台会显示

Uncaught TypeError: canvas.getContext is not a function at master.js:4

我环顾四周,发现没有任何东西可以解决我的问题。

var canvas = document.getElementsByClassName('myCanvas');
console.log(canvas);
var context = canvas.getContext('2d');
console.log(context); 

HTML 是这样的:

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <script src="master.js" charset="utf-8"></script>
    <link rel="stylesheet" href="master.css">
  </head>

  <body>
    <canvas class="myCanvas">Your browser doesn't support HTML canvas</canvas>
  </body>
</html>

有人知道我做错了什么吗?

最佳答案

getElementsByClassName返回一个元素数组。因此,它没有您正在寻找的方法。请尝试以下操作:

var canvas = document.getElementsByClassName('myCanvas')[0];
console.log(canvas);
var context = canvas.getContext('2d');
console.log(context); 

您的代码也存储在 HTML 头中,因此不会找到您的 canvas 元素。要么把你的 <script> HTML 中的标记 <body>document.onload 中标记或设置函数如下:

document.onload = function() {
  var canvas = document.getElementsByClassName('myCanvas')[0];
  console.log(canvas);
  var context = canvas.getContext('2d');
  console.log(context); 
}

关于javascript - GetContext() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43403456/

相关文章:

javascript - 我有一个大图像,但我需要使用相同的图像,只是大小的一半并保持图像质量

python - 如何使用 tkinter 在图像顶部绘制坐标系?

javascript - React Antd 无法从自定义日期选择器中获取值

javascript - 从输入字段追加具有多个参数的元素

javascript - react-native run-android 构建成功但不工作

javascript - 保持相同的 Puppeteer 页面打开 NodeJS

带有PorterDuff.Mode.DST_IN的android drawBitmap,应该透明的区域变成黑色

javascript - $ (".anything".click() 和 $ (".anything").bind(click) 有什么区别

html5 Canvas 未显示完整图像

Javascript Canvas : how to efficiently compute distance of two canvases