# removeEventListener does not work in as3?

**URL:** <https://forum.kirupa.com/t/removeeventlistener-does-not-work-in-as3/245311>\
**Category:** flash\
**Created:** [November 28, 2007, 1:18pm UTC](https://forum.kirupa.com/t/removeeventlistener-does-not-work-in-as3/245311 "2007-11-28T13:18:14Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![verytorpe](https://avatars.discourse-cdn.com/v4/letter/v/96bed5/32.png) [@verytorpe](https://forum.kirupa.com/u/verytorpe)\
**Post date:** [November 28, 2007, 1:18pm UTC](https://forum.kirupa.com/t/removeeventlistener-does-not-work-in-as3/245311/1 "2007-11-28T13:18:14Z")

</div>

Hello everyone  
I’m a poor man suffering as2 to as3 migration-itis  
I have a fla with this code. It puts a button on the stage and adds rollover-rollout listeners to it:

* * *

```auto
 
package ugh{ 
import flash.display.*
import flash.events.* 
public class ugh extends Sprite{
public function ugh(){
function onOver(e:MouseEvent){ 
var d=e.target 
trace("in:"+d)
var g=new Go(d) 
}
function onOut(e:MouseEvent){ 
var d=e.target 
trace("out:"+d)
var g=new Go(d) 
} 
var b=new button()
addChild(b) 
b.addEventListener(MouseEvent.MOUSE_OVER,onOver) 
b.addEventListener(MouseEvent.MOUSE_OUT,onOut)
}// fin ugh
}
} 
 

```

* * *

And I have this static class, which is used when rollovers are detected

* * *

```auto
 
package{
import flash.display.*
import flash.events.* 
public class Go{
public function Go(loque:Sprite){
if(loque.hasEventListener(Event.ENTER_FRAME)){ 
trace("quit")
loque.removeEventListener(Event.ENTER_FRAME, procede)
}else{
trace("add") 
loque.addEventListener(Event.ENTER_FRAME,procede)
}
var k=0
function procede(e:Event){ 
trace("procede:"+e.target+" k:"+k)
k++ 
if(k>10){ 
loque.removeEventListener(Event.ENTER_FRAME, procede) 
} 
}// fin procede 
}// fin go
}// fin class
}// package 

```

* * *

If you rollOver the button, a count is traced (1, 2, 3…); a number per frame, up to ten.  
If you rollOut the button before the count ends, the enterFrame is detected but its not removed, despite the removeEventListener, and the count does not stop. I already tried loque.removeEventListener(“enterFrame”, procede) instead of loque.removeEventListener(Event.ENTER\_FRAME, procede), but no way

any ideas?

thanks!
