AS3.0怎么给事件设置时间?求高手解析,问题如下:
答案:1 悬赏:10 手机版
解决时间 2021-11-25 04:48
- 提问者网友:那叫心脏的地方装的都是你
- 2021-11-24 17:22
AS3.0怎么给事件设置时间?求高手解析,问题如下:
最佳答案
- 五星知识达人网友:独钓一江月
- 2021-11-24 18:35
事件发生后延迟执行某函数即可,代码如下
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执行函数,可以看到的确是延迟执行了
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执行函数,可以看到的确是延迟执行了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯