当我在输入,按钮或选择元素上触发模糊事件时,chrome和firefox会保留当前的tabindex。如果我在模糊事件触发后再次按Tab键,浏览器将正确聚焦下一个输入。
然而,IE11完全失去了tabindex,并从页面的开头开始。示例:(在chrome和IE11中运行以进行测试):
对焦任何输入并按enter =>模糊。 按选项卡。 Chrome和FF将在最后一个tabindex之后关注下一个输入。 IE将把第一个输入元素集中在页面上。
https://jsfiddle.net/4wnt0o44/1/
HTML:
<form>
<input type="text" length="30" />
<input type="text" length="30" />
<input type="text" length="30" />
<input type="text" length="30" />
<input type="text" length="30" />
</form>
JS:
document.body.addEventListener('keypress', function(event){
if (event.target.tagName.toLowerCase() === 'input') {
const keyCode = event.which || event.keyCode;
if (keyCode === 13) {
event.target.blur()
}
}
})
此问题是否有任何已知的解决方法?