您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页setTimeout(fn,0)的作用

setTimeout(fn,0)的作用

来源:二三娱乐

hi,朋友们你见到过window.setTimeout(fn, 0)的代码吗?那该语句是什么作用呢?答:延时函数fn的执行(ps 也就是把fn放入事件循环队列,队列是后进后出哟)。那在什么场合下需要延时执行函数fn且时延参数为呢?

栗子:

<input type="text" onkeydown = "document.getElementById('a').innerHTML = 'input is:'+this.value;" />

<div id="a">input is:</div>

运行结果如下图:

为什么输入123,输出的结果是12呢?

因为输入3时所触发的事件级联中,keydown事件的顺序先于给input对象value属性赋值的默认事件,所以输出结果慢了一拍。

针对此问题,解决方案为把onkeydown属性值改为onkeydown="setTimeout(function(){document.getElementById('a').innerHTML= 'input is:'+this.value;},0)"即延迟keydown事件执行。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务