我遇到了问题:
path.drag(onmove, onstart, onend)
特别是,我已经定义了这样的函数:
function onmove(x,y)
{
console.log(x,y);
}
我的问题是x和y与我的论文无关,我怎样才能得到正确的坐标? 我不能使用JQuery。
由于
答案 0 :(得分:1)
返回的坐标可能与窗口有关。但是,您可以使用如下所述的函数计算纸张与document.body的偏移量 http://www.quirksmode.org/js/findpos.html
然后只需将上移坐标与纸张坐标进行比较。
如果您的页面允许滚动,则需要考虑到这一点。
答案 1 :(得分:1)
看看这个演示,它可以帮到你:
<强> http://jsfiddle.net/CHUrB/ 强>
move = function (dx, dy)
{
// Move main element
var att = this.type == "ellipse" ? {cx: this.ox + dx, cy: this.oy + dy} :
{x: this.ox + dx, y: this.oy + dy};
this.attr(att);
// Move paired element
att = this.pair.type == "ellipse" ? {cx: this.pair.ox + dx, cy: this.pair.oy + dy} :
{x: this.pair.ox + dx, y: this.pair.oy + dy};
this.pair.attr(att);
// more on the jsfiddle site
}