AS3.0怎么给事件设置时间?求高手解析,问题如下:

segmentInput.addEventListener(Event.CHANGE,saveHandler);就是我想给这个事件添加一个时间,比如过两秒再执行此事件,怎... segmentInput.addEventListener(Event.CHANGE,saveHandler);
就是我想给这个事件添加一个时间,比如过两秒再执行此事件,怎么做?就是改变了Event.CHANGE之后过两秒执行,求代码!
segmentInput.addEventListener(Event.CHANGE, function(e:Event):void{
// 2000毫秒(2秒)后执行saveHandler函数
setTimeout(saveHandler, 10000);
});
进不去saveHandler
展开
 我来答
gjsgdhr
推荐于2016-04-19 · TA获得超过1800个赞
知道小有建树答主
回答量:665
采纳率:77%
帮助的人:466万
展开全部

事件发生后延迟执行某函数即可,代码如下

segmentInput.addEventListener(Event.CHANGE, function(e:Event)
{
    // 2000毫秒(2秒)后执行saveHandler函数
    setTimeout(saveHandler, 2000);
});
追问
segmentInput.addEventListener(Event.CHANGE, function(e:Event):void{
// 2000毫秒(2秒)后执行saveHandler函数
setTimeout(saveHandler, 10000);
});
不行啊,我都设置成10000了,但是一下子就进去了
追答

思路肯定没问题,可以用以下代码,会输出执行的时间,看看肯定是延时执行了的,只是文本可能很早就发生了更改,所以才会觉得没有延迟:

// 文本框侦听
segmentInput.addEventListener(Event.CHANGE,onTextChange);
// 事件处理
function onTextChange(e:Event):void
{
    trace("文本改变","时间:",new Date,"2秒后执行saveHandler");
    // 2000毫秒(2秒)后执行saveHandler函数
    setTimeout(saveHandler, 2000);
}
// 延迟执行的函数
function saveHandler():void
{
    trace("saveHandler执行","时间:",new Date);
    // code...
}

这是我的输出结果,17:32:43触发事件,17:32:45执行函数,可以看到的确是延迟执行了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式