怎样达到执行flex中的Actionscript的方法在切换页面之前
MXML文件中有一个方法在页面初始化的时候会执行,然后只要不点击一个特定的按钮,这个方法就会不停的执行。我想要在页面切换的时候给出一个提示,或者直接终止这个方法...
MXML文件中有一个方法在页面初始化的时候会执行,然后只要不点击一个特定的按钮,这个方法就会不停的执行。我想要在页面切换的时候给出一个提示,或者直接终止这个方法
展开
2个回答
展开全部
用计时器啊。 Timer
实例代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()"
xmlns:supportClasses="com.esri.ags.skins.supportClasses.*" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
public var timer:Timer;
private function init():void{
//表示0.0001秒执行一次
timer=new Timer(1);
timer.addEventListener(TimerEvent.TIMER,onTimer);
}
protected function button1_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
//单击按钮时无线执行
//执行计时器
timer.start();
}
private function onTimer(event:TimerEvent):void{
OnFc();
}
//需要执行的方法
private function OnFc():void{
}
//外部调用关闭方法
public function closeFc():void{
timer.stop();
}
]]>
</fx:Script>
<s:layout>
<supportClasses:AttachmentLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Button click="button1_clickHandler(event)"/>
</s:Application>
实例代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()"
xmlns:supportClasses="com.esri.ags.skins.supportClasses.*" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
public var timer:Timer;
private function init():void{
//表示0.0001秒执行一次
timer=new Timer(1);
timer.addEventListener(TimerEvent.TIMER,onTimer);
}
protected function button1_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
//单击按钮时无线执行
//执行计时器
timer.start();
}
private function onTimer(event:TimerEvent):void{
OnFc();
}
//需要执行的方法
private function OnFc():void{
}
//外部调用关闭方法
public function closeFc():void{
timer.stop();
}
]]>
</fx:Script>
<s:layout>
<supportClasses:AttachmentLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Button click="button1_clickHandler(event)"/>
</s:Application>
更多追问追答
追问
谢谢您的回答,我的页面就是有这么个定时器,我想要的是页面切换的时候,自动调用定时器的停止函数,自动停止。
就像您写的怎样在页面切换的时候,自动执行closeFc函数
追答
什么样的页面切换啊 这个方法是公共的 只要你能访问到该方法就行了啊
你另外的页面是否有该页面的实例 如果有比如是aa对象 aa.closeFc()即可
别的页面是怎么触发出来的。 总归有个入口 不可能平白无故的页面就切换了。
展开全部
监听页面的关闭事件,然后在事件响应里面处理这个问题
在页面里 this.addEventListener(FlexEvent.REMOVE, 处理函数);
这样试试看行不行
在页面里 this.addEventListener(FlexEvent.REMOVE, 处理函数);
这样试试看行不行
更多追问追答
追问
问题是怎样监听这个关闭事件啊,使用AS调用JS的方法是一个途径,但不太会做。不知道AS自带的有没有类似的监听函数。希望给点详细的帮助,谢谢!
追答
这函数就是as的函数啊..
在页面加载以后调用this.addEventListener(FlexEvent.REMOVE, 处理函数);
然后在处理函数里面写上关闭逻辑就可以了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询