我有一个代码,它将(x,y)坐标中的一条线拖到新的鼠标(x,y)坐标上.这在桌面浏览器中运行良好,但由于某种原因,它在移动浏览器中不起作用.我添加了触摸事件监听器,但我想坐标是一些如何变得不正确.继承我的代码:
function getMouse(e) {
var element = canvas, offsetX = 0, offsetY = 0;
if (element.offsetParent) {
do {
offsetX += element.offsetLeft;
offsetY += element.offsetTop;
} while ((element = element.offsetParent));
}
mx = (e.pageX - offsetX) - LINE_WIDTH;
my =( e.pageY - offsetY )- LINE_WIDTH;
}
function mouseDown(e){
getMouse(e);
clear(fctx);
var l = lines.length;
for (var i = l-1; i >= 0; i--) {
draw(fctx,lines[i]);
var imageData = fctx.getImageData(mx, my, 1, 1);
if (imageData.data[3] > 0) {
selectedObject = lines[i]; …
Run Code Online (Sandbox Code Playgroud)