如何使用 Action Script 添加 Mate Listeners
在我的一个表单中,我使用了以下代码来添加 Mate Listeners
<mate:Listener type="{DBEvent.Update_Result}" receive="{onUpdateResults(event)}"/>
我将此表单显示为弹出窗口。发生的情况是,onUpdateResults 方法第一次按预期只执行一次。然后我关闭弹出窗口并重新打开它。这次 onUpdateResults 方法调用了两次,然后接下来调用了 4 次,依此类推...
经过大量的谷歌搜索,我发现 Mate Listeners 仍然处于活动状态,即使我们删除/关闭了弹出窗口。我尝试了弱引用,使用 PopupManager.RemovePopup 关闭弹出窗口等。什么都没起作用。
然后我想到使用动作脚本手动注册和取消注册配合侦听器。所以,我尝试了以下代码
var _listener:Listener= new Listener();
_listener.addEventListener(DBEvent.Update_Result,onUpdateResults);
来取消注册...
_listener.removeEventListener(DBEvent.Update_Result,onUpdateResults);
但这也不起作用。
请有人帮我解决这个问题。
in one of my forms, I have used the following code for adding Mate Listeners
<mate:Listener type="{DBEvent.Update_Result}" receive="{onUpdateResults(event)}"/>
I am displaying this form as a popup. What happening is, for the first time, onUpdateResults method executed only once as expected. Then i close the popup and reopened it. This time onUpdateResults method called twice, then next 4time and so on...
After so much of googling, i found that Mate Listeners are still active, even though we remove/close the popup. I tried weak references, close the popup using PopupManager.RemovePopup and so on. Nothing worked.
Then i thought of registering and unregistering the mate listeners manually using action script. So, i have tried the following code
var _listener:Listener= new Listener();
_listener.addEventListener(DBEvent.Update_Result,onUpdateResults);
to unregister...
_listener.removeEventListener(DBEvent.Update_Result,onUpdateResults);
But this is also not working.
Please somebody help me fix this issue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个。
在主应用程序中创建运行时弹出窗口:
MyPopUp - mx:TitleWindow from MyPopUp.mxml
在 MyPopUp.mxml 的 OnInit 中添加任何侦听器:
单击任何按钮(按钮的单击事件或任何事件)时关闭弹出窗口:
Try this.
Create runtime popup windows in main application:
MyPopUp - mx:TitleWindow from MyPopUp.mxml
Add any listeners in OnInit in MyPopUp.mxml:
Close popup when you click any button (button's click event or any):