我正在尝试使用setInterval(updateAngle,10);
和updateAngle
函数更新某些内容,其中我调用canvas.remove(n)
(其中canvas是拉斐尔),用于三个不同的* n * s,以及然后创建那些* n * s的新实例。我现在得到canvas.path()
未定义的错误,如果我不进行remove
调用,我就无法得到错误。为什么我可能会收到此错误,我是否以正确的方式执行此操作?
编辑:这是上下文。
function updateAngle(){
// canvas.remove(initBeam);
// canvas.remove(reflBeam);
canvas.remove(propBeam);
angle = angleSlider.val;
(17行之后)
emitter = canvas.path(makePathForPolygon([emitter_left,emitter_top,emitter_right,emitter_bottom])) // <- this errors
.attr({'fill':EMITTER_COLOR})
.attr({'id':'emitter'});
(...)
}
答案 0 :(得分:0)
好的,我发现了什么问题。我想要的是[element].remove()
。在画布上调用remove()
会删除画布而不是元素,这就是它不再理解canvas
的原因。