更新时出现.remove()问题

时间:2014-07-01 18:24:50

标签: javascript jquery raphael

我正在尝试使用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'});

(...)

}

1 个答案:

答案 0 :(得分:0)

好的,我发现了什么问题。我想要的是[element].remove()。在画布上调用remove()会删除画布而不是元素,这就是它不再理解canvas的原因。