0
A
回答
2
事件偵聽器附加到屬於從EventDispatcher後繼的類的對象。你不能將它們附加到一個函數中。
stage.addEventListener("myFunctionWasCalled", callback);
myFunction();
public function callback(event:Event):void {
trace("callback executed");
}
public function myFunction():void {
stage.dispatchEvent(new Event("myFunctionWasCalled"));
}
0
您可以通過傳遞函數引用(回調)作爲參數
function cb(s:String):void {
trace(s);
}
function doit(f:Function):void {
// do something
f("Hi");
// do some more stuff
}
doit(cb);
3
可以使用舞臺調度此類事件,並聽取其實現這一目標您只想在函數調用的生命週期中監聽事件,只需根據需要添加/刪除。 例如:
function somefunction():void{
someobject.addEventListener(Event, eventhandler);
... doing stuff
someobject.removeEventListener(Event, eventhandler);
}
現在記住,如果你這樣做,那麼你的選擇,即使流可能會變得非常難以跟蹤的道路。
典型性,你只需要在對象的生命和死亡以及函數調用的生死中擔心這一點。
0
如果:
0
要將事件偵聽器附加到對象,此對象必須實現IEventDispatcher
接口。所以你可以擴展Function
類並添加你的方法。 AS3文檔說Function
不是終點,而是AS3編譯它不同意:VerifyError: Error #1103: Class Bla cannot extend final base class.
所以,簡單的答案是:你不能將一個事件偵聽器的功能。
但是,因爲它已經提到你可以:
- 通行證的回調/回調將在某個時候被調用的函數:
function bla(callback1:Function, callback2:Function):void
。 - 在功能執行過程中發送來自某個其他對象的事件,例如,您可以製作一個
Functor
類,該類具有方法並實現IEventDispatcher
。通過這種方式,你可以調用函數myFunctor.execute()
並且可以獲得派發的事件。
相關問題
- 1. eventlistener不執行其功能
- 2. PHP元素添加EventListener
- 3. 將表添加爲EventListener
- 4. 動態添加按鈕eventListener
- 5. 添加EventListener到按鈕
- 6. 添加功能
- 7. IIS:添加功能
- 8. 添加功能Intl.NumberFormat
- 9. 添加Android功能
- 10. 添加功能sys.excepthook
- 11. 添加類功能
- 12. PHP添加功能
- 13. 添加功能HtmlWeb
- 14. 添加Karaf功能
- 15. DexClassLoader - 添加功能
- 16. 添加功能到Javascript功能
- 17. sails.js添加功能獲取功能
- 18. mySQL爲搜索功能添加功能
- 19. 動態添加EventListener不能按預期工作
- 20. 可能爲Actionscript 3的函數添加一個EventListener?
- 21. jQuery插件:添加eventlistener元素
- 22. 添加Eventlistener來控制HTML5音頻
- 23. 如何在TabListener上添加eventListener?
- 24. 添加eventlistener到鈦移動commonJS
- 25. addEventListeter添加到EventListener? (更改按鈕)
- 26. 角2 - 添加與功能
- 27. 圓功能並添加「$」
- 28. 添加滾動功能
- 29. 將功能添加到ToggleButton,
- 30. 添加功能,減速機