小编典典

如何获取鼠标单击画布元素的坐标?

all

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

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


阅读 78

收藏
2022-04-19

共1个答案

小编典典

如果您喜欢简单但仍需要跨浏览器功能,我发现此解决方案最适合我。这是@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)
})
2022-04-19