2011-06-10 57 views

回答

10

您需要获取页面的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

您应该考虑使用onclickHTML属性悄悄附加事件,即而不是

+3

谢谢!但是,“不显眼”的意思是什么? – 2011-06-10 00:44:25

+0

@Ahmad在答案中解释。在JavaScript代码中使用'attachEvent()'和'addEventListener()'组合。不要混合行为和数据层。 – alex 2011-06-10 00:55:40

2

由于HTML5,刚刚拿到layerX和事件本身的属性layerY。太好了!

+0

甜!这是一个很棒的解决方案。任何人都知道一个缺点? – 2015-07-07 03:50:29