Firefox:setTimeout链导致滞后和丢弃浏览器事件

时间:2015-12-01 21:45:41

标签: javascript firefox

如果我有一页只是:

<script type="text/javascript">
  function doCycle() {
    setTimeout("doCycle();", 200);
  }
  doCycle();
</script>

<input></input>

当我在较旧的计算机上在Firefox中打开页面或在较新的计算机上打开firebug时,浏览器将随机丢弃事件(键盘按下和单击)。例如,如果我专注于输入元素,然后交替按键,例如&#39; a&#39;和&#39; b&#39;。我将以输出(在输入元素中)结束,例如:

ababababababababbababaababab

因为某些按键被丢弃而有一些重复的字符。如果我调试,没有为错过的事件触发keydown或keypress事件。按钮/点击也会发生这种情况。

所以我的问题是:你认为它是firefox中的一个bug吗?或者为什么你认为它可能是有意或固有的?

不太了解浏览器如何处理setTimeout,并且无法在网络上找到对此问题的任何其他引用。我想在firefox bug跟踪器中打开一个bug之前,我会尝试收集更多信息。任何想法或见解将不胜感激!

1 个答案:

答案 0 :(得分:0)

我不会对此感到奇怪。超时将在200ms后运行,但它不会阻止浏览器处理它下面的代码。你的问题不是很清楚......