我试图在画布中绘制图像,然后尝试用鼠标单击图像内部。但是X和Y的位置不正确,我考虑了偏移量并对其进行了修正,但它们仍然不正确。X和Y在带有偏移的画布中不匹配
我目前不知道如何解决它。我做了一个小提琴来复制包括画布所在的父div在内的情况。
我使用的代码,以弥补考虑,这似乎并不奏效:
function getxy(event,el){
canvasX = event.pageX - el.offsetLeft,
canvasY = event.pageY - el.offsetTop;
return {x:canvasX, y:canvasY}
//does not give the same answer as you would expect when using drawImage();
}
在拨弄画布的左上角应0,0
但它不是根据我使用的计算。
试图在计算中去除保证金和边框像素? – rps
我还没有 - 我认为抵消了考虑= /我将如何纳入他们? – Sir
您的元素offsetLeft始终为0,因为您将余裕应用于其父项......将其更改为: 'canvasX = event.pageX - el.parentNode.offsetLeft,'http://jsfiddle.net/bX5Dr/9/ – JayMoretti