我想做到這一點:上述可以檢測到addEventListener,然後將其刪除?
if (rightBtn.addEventListener(MouseEvent.CLICK,goRight4))
{
rightBtn.removeEventListener(MouseEvent.CLICK,goRight4);
trace("YES")
}
else{trace("NO")}
是我寫的一個按鈕的代碼。
我已經添加了eventListener,但結果仍然是跟蹤NO。
任何想法或正確的方法來做到這一點?
如果rightBtn有多個事件,如MOUSE_OVER,MOUSE_OUT?我可以用一個命令將它們全部刪除嗎?
rightBtn.addEventListener(MouseEvent.CLICK,goRight4)
rightBtn.addEventListener(MouseEvent.MOUSE_OVER,goRightOver)
rightBtn.addEventListener(MouseEvent.MOUSE_OUT,goRightOut)
if (rightBtn.addEventListener(MouseEvent.CLICK,goRight4))
{
rightBtn.removeEventListener(MouseEvent.CLICK,goRight4);
rightBtn.removeEventListener(MouseEvent.MOUSE_OVER,goRightOver);
rightBtn.removeEventListener(MouseEvent.MOUSE_OUT,goRightOut);
trace("YES")
}
else{
trace("NO")
}
如果對象沒有在第一時間監聽事件,則調用'removeEventListener()'是無害的。正如@ puggsoy的回答所述,有時候可以通過使用'hasEventListener()'來欺騙,因爲如果其他類添加了事件偵聽器,該方法將返回true。我投了兩個答案:) – 2012-07-31 10:33:01