javascript - 如何获取鼠标单击 Canvas 元素的坐标?

标签 javascript canvas

向 Canvas 元素添加单击事件处理程序以返回单击的 x 和 y 坐标(相对于 Canvas 元素)的最简单方法是什么?

无需兼容旧版浏览器,Safari、Opera 和 Firefox 即可。

最佳答案

如果您喜欢简单但仍需要跨浏览器功能,我发现此解决方案最适合我。这是@Aldekein 解决方案的简化,但没有 jQuery

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)
})

关于javascript - 如何获取鼠标单击 Canvas 元素的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677/

相关文章:

javascript - 在 ember.js 中添加子路由

javascript - React -> 你怎么称呼下面用花括号包裹的消息?

javascript - 如何从 npm 声明 javascript 子模块的类型?

javascript - 如何将基于 React 状态的 JavaScript 变量插入到另一个变量中?

javascript - 将 Canvas 元素绑定(bind)到新元素

javascript - 在 Paper.js 中调整矩形大小

javascript - 在 JQuery 中取消动画

javascript - 如何在 Canvas 上绘制大量点(具有规则图案)?

javascript - 如何控制 requestAnimationFrame 的波速

javascript - Canvas 宽度和高度计算已关闭