首页 > web前端 > js教程 > 如何获取 Canvas 元素上的鼠标点击坐标?

如何获取 Canvas 元素上的鼠标点击坐标?

Susan Sarandon
发布: 2024-12-08 01:37:11
原创
445 人浏览过

How Do I Get Mouse Click Coordinates on a Canvas Element?

获取画布元素上的鼠标单击坐标

要获取鼠标单击相对于画布元素的 x 和 y 坐标,请执行以下操作这些步骤:

  1. 定义事件处理程序:

    canvas.addEventListener('mousedown', function(e) {
        // Code to get cursor position
    })
    登录后复制
  2. 计算光标位置:
    在事件处理程序中,使用 getBoundingClientRect() 方法获取画布的相对位置到屏幕上,然后从中减去点击事件坐标以找到相对值位置:

    const rect = canvas.getBoundingClientRect()
    const x = event.clientX - rect.left
    const y = event.clientY - rect.top
    登录后复制
  3. 记录坐标:
    最后,您可以将坐标值输出到控制台或在您的程序中使用它们应用程序:

    console.log("x: " + x + " y: " + y)
    登录后复制

示例:

function getCursorPosition(canvas, event) {
    const rect = canvas.getBoundingClientRect()
    const x = event.clientX - rect.left
    const y = event.clientY - rect.top
    console.log("x: " + x + " y: " + y)
}

const canvas = document.querySelector('canvas')
canvas.addEventListener('mousedown', function(e) {
    getCursorPosition(canvas, e)
})
登录后复制

此解决方案为 Safari、Opera 和 Firefox 提供跨浏览器兼容性。对于旧版浏览器支持,请考虑使用 jQuery 或跨浏览器库。

以上是如何获取 Canvas 元素上的鼠标点击坐标?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板