请检查小提琴。我通过答案得到了这个插件。当画布的位置固定时,它可以正常工作。但是当我将画布包含在可拖动的 div 中并移动 div 时,坐标会发生变化,因此我无法绘制任何东西。我希望触控笔捕捉画布 div 的坐标而不是页面。
JS 小提琴:http: //jsfiddle.net/sVsZL/1/
功能不工作:
function ev_canvas(ev) {
if (false) {
ev._x = ev.touches[0].clientX;
ev._y = ev.touches[0].clientY; // CH: Is there a better way to do this?
}
else if (ev.layerX || ev.layerX == 0) { // Firefox
ev._x = ev.layerX;
ev._y = ev.layerY;
}
else if (ev.offsetX || ev.offsetX == 0) { // Opera
ev._x = ev.offsetX;
ev._y = ev.offsetY;
}
ev._x = ev._x + 0.5;
//ev._y = ev._y + 0.5;
// Call appropriate event handler
var func = PEN[ev.type];
if (func) {
func(ev);
}
}