【发布时间】:2019-08-31 07:26:38
【问题描述】:
我正在编写一个简单的代码,将输入的字母转换为大写字母,然后在 keyup() 事件中将这些大写字母重新填充到输入元素。
但我遇到了一个令人困惑的问题:在我的三星手机(Galaxy Note 5)上输入字母时,我得到了如下图所示的重复字母:
以上,我使用带有越南语和谷歌浏览器的默认三星键盘。但是当我尝试将语言切换为英语时,我没有看到问题。
我进行了一些测试,结果如下:
测试 1:
三星键盘 + 越南语
Chrome / 或三星浏览器
-> 问题发生了
测试 2:
三星键盘 + 英文
Chrome / 或三星浏览器
-> 问题没有发生
测试 3:
三星键盘 + 越南语
火狐浏览器
-> 问题没有发生
测试 4:
Google 键盘 + 越南语
Chrome / 或三星浏览器
-> 问题没有发生
代码如下:
<input type="text" id="inputText">
<script>
document.getElementById('inputText').addEventListener('keyup', function() {
var typedLetters = this.value;
var upperCasedLetters = typedLetters.toUpperCase();
this.value = upperCasedLetters;
});
</script>
我在 GitHub 上阅读了类似的问题:https://github.com/facebook/react-native/issues/11068,但直到现在我还没有找到明确的解决方案。
谁能告诉我发生了什么事?以及如何以编程方式解决此问题?
提前谢谢你!
【问题讨论】:
标签: javascript react-native samsung-mobile keyup