在写 OTP input 组件时,发现 input 宽度为 0 时,Android 输入内容方向异常,下面是异常代码和操作步骤:
点击“开始输入”按钮后,键盘输入内容,iOS 系统下表现正常,Android 输入方向则是从右向左。
影响结果代码为style="width: 0;"
,如果宽设置成非0,输入方向则正常。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<input id="test_input" style="width: 0;" />
<button id="test_button">开始输入</button>
<div>当前输入内容: <span id="test_span"></span></div>
</body>
</html>
<script>
document.getElementById('test_button').addEventListener('click', () => {
document.getElementById('test_input').focus();
});
setInterval(() => {
document.getElementById('test_span').innerText = document.getElementById('test_input').value;
}, 0);
</script>
是 Android 处理机制不同还是 BUG?