我使用 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,并且拖动变得非常无响应。我的代码有什么问题?我已经在 Firefox 22 上测试过了。
这是一个 jsfiddle 链接:http: //jsfiddle.net/jyhAx/
.transform()
但是似乎可以在没有内存泄漏的情况下工作。