我是新來的畫布,我需要知道鼠標點擊的座標。我成功了:畫布鼠標點擊,偏移和父節點
var canvas = document.getElementById('MainMap');
canvas.addEventListener('mousedown', onMapMouseDown, false);
問題出現在我試圖找到正確的座標時。我試圖
var x = ev.x - canvas.offsetLeft;
var y = ev.y - canvas.offsetTop;
除了canvas.offsetLeft = 0和canvas.offsetTop = 40(實際上它是正確的,因爲在畫布被放置在該位置在一個div)。 div位於另一個div中,位於div中的表格中......等等。
解可以得到正確的位置是通過比較在getParentNode遞歸函數添加偏移量(); 那麼問題就在於此。我現在如何到達頂層節點。可能是文檔或頂級div或表格。
它的工作了。我不得不做一些調整,以使其在Firefox中工作(它不喜歡「ev.x」),但它似乎現在在所有的brosers中都能正常工作。非常感謝您的幫助。 – mdev