首页 > 解决方案 > 在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"/>

标签: javascriptandroidhtmlgoogle-chrome

解决方案


推荐阅读