这个答案很老了,它使用检查不再需要的旧浏览器,因为
clientX和
clientY属性在所有当前浏览器中都有效。您可能想查看PatriquesAnswer,以获得更简单,最新的解决方案。
最初的答案:
正如我当时发现的一篇文章中所述,但不再存在:
var x;var y;if (e.pageX || e.pageY) { x = e.pageX; y = e.pageY;}else { x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } x -= gCanvasElement.offsetLeft;y -= gCanvasElement.offsetTop;对我来说工作得很好。



