我正在使用
Javascript中的setTimeout.我对它是如何工作感到困惑.我有以下代码:
<input type="button" value='click'> <script> var input = document.getElementsByTagName('input')[0] input.onclick = function() { setTimeout(function() { input.value +=' input' },0) } document.body.onclick = function() { input.value += ' body' } </script>
单击该函数时,它会将文本正文输入附加到按钮元素.我理解这种情况正在发生,因为首先触发了父(body)事件,并且在下一个计时器滴答时,子事件(输入)事件被执行,因为它稍后在事件队列中被推送.
我现在尝试了以下代码:
var input = document.getElementsByTagName('input')[0] document.body.onclick = function() { setTimeout(function() { input.value +=' body' },0) } input.onclick = function() { setTimeout(function() { input.value +=' input' },0) }
这会将文本输入主体附加到按钮元素.当两个超时都设置为0时,如何确定执行顺序?在这种情况下,它们以什么顺序推送到事件队列?谢谢.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。