我在Angular2中使用three.js。代碼很簡單,如下所示。RemoveEventListener在使用打字稿的Angular2中不起作用
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);
我還是上了一個DOMElement事件反正。看來,addEventListener工作正常,但無法刪除它。提前致謝。
如何重視這個問題了?閱讀這個打字稿後https://basarat.gitbooks.io/typescript/content/docs/arrow-functions.html。我明白從()=開始實際上就像一個匿名函數。所以當我定義該方法時。 protected onMouseMove =(event:MouseEvent):void => {//做些事情}並添加事件this.webGlRenderer.domelement.addEventListener('mousemove',this.onMouseMove,false)。然後刪除this.webGlRenderer.domelement.removeEventListener('mousemove',this.onMouseMove,false)。 – mok