我使用 Raphäel 和 Raphäel Sketchpad 库在浏览器中创建一个画板,效果很好。我已经实现了 Rapäel ZPD (https://github.com/andrewseddon/raphael-zpd) 在画板/SVG 容器 div 上进行平移/缩放。当我缩小并重新缩小时,光标会错位(Firefox/Chrome)。
我在 ZPD 中发现了以下代码,导致缩放或拖动时光标的位置出错:
/**
* Instance an SVGPoint object with given event coordinates.
*/
me.getEventPoint = function(evt) {
var p = me.root.createSVGPoint();
p.x = evt.clientX;
p.y = evt.clientY;
return p;
};
构建 ZPD 的 SVGPan 也有同样的问题:http ://code.google.com/p/svgpan/issues/detail?id=14&can=1&q=zoom 。但是,报告的问题中的建议似乎都不起作用。关于如何或为什么会发生这种偏移以及任何解决方案的任何建议?