javascript - 在 javascript 中处理 Canvas 的 OnClick 事件并获取其坐标

标签 javascript canvas event-handling onclick coordinates

我有一个 Canvas 可以这样画

<div id="canvas" style="position:relative;width:600px;height:300px;" onclick="q()"></div>

我需要在点击它时处理该事件并获取它在 Canvas 上被点击的坐标

最佳答案

您需要获取页面的 x 和 y 坐标,然后减去 canvas 偏移量以获得它们相对于 canvas 的偏移量。

function q(event) {
    event = event || window.event;

    var canvas = document.getElementById('canvas'),
        x = event.pageX - canvas.offsetLeft,
        y = event.pageY - canvas.offsetTop;

    alert(x + ' ' + y);
}

jsFiddle .

您应该考虑以不显眼的方式附加事件,即使用 onclick HTML 属性。

关于javascript - 在 javascript 中处理 Canvas 的 OnClick 事件并获取其坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6300791/

相关文章:

javascript - 如果复选框被选中则禁用选择

javascript - 如何将 Canvas 保存为 png 图像?

javascript - Context2d arc() 带有开始路径,生成奇怪的圆圈

javascript - 将事件附加到元素并正确分派(dispatch)它

javascript - 从事件处理程序写入 WriteStream

c++ - Qt 中的事件处理

Javascript。监听 iPhone 摇动事件?

javascript - 同时使用多个正则表达式进行测试(用于句法分析)

php - ReCaptcha 不接受任何字符串

java - 投影鼠标坐标