我在Angular2中使用了three.js.代码很简单,如下所示。
this.webGLRenderer.domElement.addEventListener('mousedown', ()=>this.onMouseDown(<MouseEvent>event), false);
this.webGLRenderer.domElement.removeEventListener('mousedown', ()=>this.onMouseDown(<MouseEvent>event), false);
我也试过这个
this.webGLRenderer.domElement.removeEventListener('mousedown', this.onMouseDown, false);
无论如何,我仍然在圆顶上举办了这个活动。看起来,addEventListener工作正常,但无法将其删除。提前致谢。
答案 0 :(得分:0)
使用removeEventListerner,函数回调不能是匿名的,所以你的第二个例子应该可行,只要你在添加监听器时也使用this.onMouseDown。
要删除事件处理程序,请使用指定的函数 addEventListener()方法必须是外部函数。
来自HERE
尝试:
this.webGLRenderer.domElement.addEventListener('mousedown', this.onMouseDown, false);
this.webGLRenderer.domElement.removeEventListener('mousedown', this.onMouseDown, false);