清除按钮不适用于我的javascript和hmtl5画布

Clear button not working with my javascript and hmtl5 canvas

本文关键字:hmtl5 画布 javascript 我的 按钮 不适用 适用于 清除      更新时间:2023-09-26

我在这方面很陌生,我正在尝试用html,canvas和javascript创建一个签名绘图程序。

我试图让清除按钮与此功能一起使用;

function clearCanvas() {
   var canvas = document.getElementById('canvas');
   var context = canvas.getContext('2d');
   context.clearRect(0, 0, canvas.width, canvas.height);

但它似乎不起作用。我真的不知道在 js 脚本中的哪个位置放置要在 html 代码中执行的函数。

这是 HTML 代码:

<!DOCTYPE html>
<html lang="sv">
  <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="uppgift-6.js"></script>
    <title>Uppgift6</title>
    <style type="text/css">
      #canvas { position: relative; }
      #bildruta { border: 2px solid #000; }
      body {font-family: Calibri}
      h2 {font-size: 150%; color: BLACK; background-color: BEIGE; padding:  20px; margin: 5px auto; text-align: center;}
    </style>
  </head>
  <body>
    <h2>Signatur</h2>
    <div id="canvas">
      <canvas id="bildruta" width="600" height="400"></canvas>
    </div>
    <button type="button" onclick="clearCanvas()"> Clear signature </button>
  </body>
</html>

感谢我能得到的所有帮助!

您的 ID 不正确。更改您的 id 或更改 JS 行,如下所示:

function clearCanvas() {
   var canvas = document.getElementById('bildruta'); // that's the correct ID
   var context = canvas.getContext('2d');
   context.clearRect(0, 0, canvas.width, canvas.height);
}

它有效。

var canvas = document.getElementById('canvas')指向此div <div id="canvas">而不是您的画布。应该是document.getElementById('bildruta')