2011-06-10 106 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