在 Firefox 的 keydown 事件中隐藏元素时焦点顺序错误

Wrong focus sequence when hiding element on keydown event in Firefox

我有以下标记 http://jsfiddle.net/tpveo23c/1/:

var onKeydown = function() {
  document.getElementById('testDiv').style.display = "none";
};
<input type="text" value="1" onkeydown="onKeydown();" />
<div id="testDiv" style="width:300px; height:50px; border:1px solid black">
  <input type="text" value="2" />
  <input type="text" value="2" />
</div>
<input type="text" value="3" />

Firefox 中的 Tab 焦点有问题。 重现步骤:关注 input1 -> 按 Tab。 预期行为:关注 input3(Chrome/IE 工作正常)。

不知道testDiv有多少input,手动focus不了input3。 如何让它在 Firefox 中工作,如 Chrome/IE?

我找到了解决方案:

var onKeydown = function() {
  document.getElementById('testDiv').style.display = "none";
  var width = document.getElementById('testDiv').offsetWidth;
};

https://jsfiddle.net/tpveo23c/2/