Javascript SVG拖动内存泄漏

Javascript SVG拖动内存泄漏,javascript,raphael,Javascript,Raphael,我使用raphael.js实现了一个简单的可拖动矩形: var paper = Raphael('container', '100%', '100%'); var elements = paper.rect(10, 20, 300, 200).attr({ fill: "#FC0" }); var o_x, o_y; elements.drag(function (dx, dy, x, y, e) { elements.translate(x - o_x, y - o_y); o

我使用raphael.js实现了一个简单的可拖动矩形:

var paper = Raphael('container', '100%', '100%');
var elements = paper.rect(10, 20, 300, 200).attr({ fill: "#FC0" });
var o_x, o_y;
elements.drag(function (dx, dy, x, y, e) {
    elements.translate(x - o_x, y - o_y);
    o_x = x;
    o_y = y;
}, 
function (x, y, e) {
    o_x = x;
    o_y = y;
},
function (e) { });
使用以下html:

<div id="container"></div>

拖动矩形并多次摇晃大约20秒后,内存使用量激增至200mb,拖动变得非常无响应。我的代码有什么问题?我已经在Firefox22上测试过了

这里有一个JSFIDLE链接:


.transform()
然而,它似乎可以在没有内存泄漏的情况下工作。

在Chrome中也会发生同样的事情(它实际上并没有下降,图形只是出于某种原因看起来是这样的):也许这就是为什么translate被弃用的原因,文档中说使用transform。