Erkennen können Sie die addEventListener und entfernen Sie Sie dann?
Möchte ich dies tun:
if (rightBtn.addEventListener(MouseEvent.CLICK,goRight4))
{
rightBtn.removeEventListener(MouseEvent.CLICK,goRight4);
trace("YES")
}
else{trace("NO")}
oben ist der code, den ich Schreibe, um eine Schaltfläche.
Habe ich die eventListener-das Ergebnis aber immer noch KEINE Spur.
Jede Idee oder der richtige Weg, dies zu tun?
Und was ist, wenn die rightBtn mehrere Veranstaltungen, wie MOUSE_OVER, MOUSE_OUT? kann ich entfernen Sie Sie alle mit nur 1 Befehl?
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")
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code ist falsch. Nach der AS3 language reference
addEventListener()
gibt void zurück. Verwenden SiehasEventListener()
wenn Sie möchten, um zu überprüfen, ob ein listener angehängt wurde Ihre Instanz.Aber der beste Weg, um entfernen Sie den Ereignis-Listener, um es zu entfernen, ohne zu wissen, ob es angebracht worden war, um Ihre Instanz!
removeEventListener()
ist unbedenklich, wenn das Objekt nicht mehr zu hören, die dem Ereignis in den ersten Platz. Und wie schon in @puggsoy Antwort, Sie können manchmal täuschen durch die VerwendunghasEventListener()
denn, die Methode gibt true zurück, wenn eine andere Klasse ein Ereignis-listener. Ich up stimmten beide Antworten 🙂Können Sie überprüfen, ob ein Objekt einen Ereignis-listener Hinzugefügt, um es mit
hasEventListener()
wie diese:Werden Sie feststellen, die der
hasEventListener
Funktion hat nur einen parameter, die Veranstaltung. Das ist OK, in den meisten Fällen jedoch, da Sie wahrscheinlich nicht mehrere listener-Funktionen für eine Veranstaltung.