jquery Raphael Path在Firefox中变得疯狂

woobm2wo  于 2023-10-17  发布在  jQuery
关注(0)|答案(1)|浏览(83)

我正在开发一个工具来制作区域和绊网,我正在使用Raphael JS。问题是,我想建立一个动态的路径,我想我得到了它,至少在Chrome,因为在Firefox它变得疯狂。
我的意思是疯狂的是,点的位置不符合真实的位置的光标(我重复一遍,只在火狐)。
我在这里做了一个小提琴。
http://jsfiddle.net/6dd2870b/4/
有没有想过为什么会发生这种情况?
先谢谢你了。
fiddle的JavaScript代码是:

var canvas = document.getElementById('canvas'),
    paper = new Raphael(canvas, canvas.height, canvas.width),
    mousedown = false,
    lastX, lastY, path, pathString, pathAux, pointsAux = [];    

$(canvas).mousedown(function (e) {
   var x = e.offsetX,
       y = e.offsetY;

    if (!mousedown) {
        pathString = 'M ' + x + ' ' + y + ' ';
        mousedown = true;
    } else {
        pathString += 'l ' + (x - lastX) + ' ' + (y - lastY) + ' ';
    }

    pointsAux.push({x: x, y: y});

    path = paper.circle(x,y,9);

    path = paper.path(pathString);   

    lastX = x;
    lastY = y;
});

$(canvas).mousemove(function (e) {

    if (!mousedown) {
       return;
    }

    var x = e.offsetX,
        y = e.offsetY;
    pathAux = pathString +  'l ' + (x - lastX) + ' ' + (y - lastY);
    path.attr('path', pathAux);
});

$('#finish').click(function (e) {

    if ($('#type').val() != 1) {
        pathAux = pathString +  ' z';
        path.attr('path', pathAux);
    } else {
        path.attr('path', pathString);
    }
    mousedown = false;

 });

 $('#cancel').click(function (e) {
     paper.clear();  
     mousedown = false;
  });
kognpnkq

kognpnkq1#

我碰巧在Firefox v.113.0.1中再次测试了它,不知何故,它目前正在工作。

相关问题