小编vfs*_*s23的帖子

在Javascript中,为什么getBoundingClientRect()有时返回浮点值?

我正在尝试使用HTML5 canvas元素。我要尝试做的一件事是设置mousemove事件以在画布上跟踪鼠标以进行绘图和其他用途。我还无法找到有关如何获得鼠标悬停在画布上像素的确切坐标的明确答案。我在网上找到了一个使用此html的教程(我在画布上添加了背景色,以使其在渲染的页面上显而易见):

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body {
        margin: 0px;
        padding: 0px;
      }

      #myCanvas {
        background-color: cornflowerblue;
      }
    </style>
  </head>
  <body>
    <canvas id="myCanvas" width="578" height="200"></canvas>
    <script>
      function writeMessage(canvas, message) {
        var context = canvas.getContext('2d');
        context.clearRect(0, 0, canvas.width, canvas.height);
        context.font = '18pt Calibri';
        context.fillStyle = 'black';
        context.fillText(message, 10, 25);
      }
      function getMousePos(canvas, evt) {
        var rect = canvas.getBoundingClientRect();
        return {
          x: evt.clientX - rect.left,
          y: evt.clientY - rect.top
        };
      }
      var canvas = document.getElementById('myCanvas');
      var context = canvas.getContext('2d');

      canvas.addEventListener('mousemove', function(evt) …
Run Code Online (Sandbox Code Playgroud)

javascript css html5 canvas

3
推荐指数
1
解决办法
1995
查看次数

标签 统计

canvas ×1

css ×1

html5 ×1

javascript ×1