在javascript中处理画布的OnClick事件并获取其坐标

在javascript中处理画布的OnClick事件并获取其坐标,javascript,canvas,event-handling,onclick,coordinates,Javascript,Canvas,Event Handling,Onclick,Coordinates,我有一块画布可以画那样的画 我需要在单击事件时处理该事件,并在单击该事件的画布上获取坐标您需要获取页面的x和y坐标,然后减去画布偏移量,以获取相对于画布的坐标 function q(event) { event = event || window.event; var canvas = document.getElementById('canvas'), x = event.pageX - canvas.offsetLeft, y = even

我有一块画布可以画那样的画


我需要在单击事件时处理该事件,并在单击该事件的画布上获取坐标

您需要获取页面的x和y坐标,然后减去
画布
偏移量,以获取相对于
画布的坐标

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


您应该考虑不附加事件,即不使用<代码> OnCase< /Cord>HTML属性。

使用jQuery,可以直接读取.pAXEX和PAPI属性。


从HTML5开始,只需获取事件本身的layerX和layerY属性即可。很好

谢谢!“但你说的“不引人注目”是什么意思?”艾哈迈德在回答中解释道。在JavaScript代码中结合使用
attachEvent()
addEventListener()
。不要把行为和数据层混为一谈。太好了!这是一个很好的解决方案。有人知道缺点吗?