我正在开发一个由一组文本输入组成的小型应用程序,每个应用程序只能容纳一个字符,并且所有输入的行为应相似。因此,当输入填充有字符时,下一个输入应突出显示,其行为类似于输入的插入符号。以相同的方式,当您清空输入时,它的行为应类似于删除普通字符,并且应突出显示上一个输入。
您可以在这里查看我的作品:https://codepen.io/Vitaozim/full/vqaRQY
此处的示例:
这是我的做法:
无论何时在任何输入元素中触发input
事件,
其中一种可能会发生:
问题是,它可以在以下浏览器上完美运行:
但是在Android版Chrome上存在错误。我在许多不同的设备中对其进行了测试。 “退格模拟”错误和输入值未突出显示。
我进行了一些测试,我注意到,如果在setTimeout
(100ms)后设置选择,它将起作用。就像我要覆盖浏览器的默认行为...但这仍然是一个很奇怪的行为,因为它仅在“退格”模拟中发生。输入所关注的其他任何情况都不会有这个错误。
答案 0 :(得分:0)
这似乎是Chrome的常见问题。您应该可以使用以下内容。
setTimeout(function() {}, 0);
其他StackOverflow答案表明这是Chrome / Chromium中的已知错误。