javascript - 在android上的html输入字段上使用eventlistener的奇怪行为
问题描述
我希望我的用户始终在输入字段的末尾输入
有很多方法可以确保光标停留在末尾(使用 JavaScript 将光标放在文本输入元素中的文本末尾)我设法让它工作,但是当我在手机上检查网站时,我得到了一些奇怪的行为. 当我开始打字时,文本被翻了一番。这是在我的 Android 手机上用 Chrome 输入“abc”后的输出:
我也在 iOS 上对其进行了测试,但这似乎工作正常。这是一个示例,因此您也可以对其进行测试。任何想法如何解决这个问题/解决这个问题?
fst = document.getElementById("fst");
snd = document.getElementById("snd");
fst.addEventListener('beforeinput', function (evt) {
fst.setSelectionRange(fst.value.length, fst.value.length);
});
snd.addEventListener('keydown', function (evt) {
var tmp = snd.value;
snd.value = "";
snd.value = tmp;
});
Beforeinput: <input id="fst"/>
Keydown: <input id="snd"/>
解决方案
推荐阅读
- ios - 如何调配 Swift.print(items:separator:terminator)
- php - 应该在线程之间共享 udp 套接字资源以在 php 中发送/接收消息
- javascript - 如何将我的 github URL 重定向到位于文件夹中的索引文件?
- html - 如何对齐 Bootstrap 表单的输入字段和标签?
- mysql - 如何使用月份名称获取最近 3 个月的计数,如果该月份没有记录需要使用月份名称获取 0
- java - 为我的 Java 应用程序 Jar 文件创建 Linux 可执行文件
- spring - 使用拦截 url 模式访问
- javascript - 如何在角度通用的特定路线上进行 SSR?
- reactjs - Refactoring almost identical components, formik react
- c# - 使用 XAML 在 WPF 应用程序中使用 RGB 设置 WinForms 控件 BackColor?