我添加字符的HTML输入字段使用JavaScript光标问题,当手动添加字符输入元素
document.querySelector('input');
input.value += getChar();
虽然这个工作,还有比添加更多的字符时,一个问题适合输入的视口。其结果是,插入符号是不可见的再
我发现一个黑客来解决这个问题是:
input.blur();
input.focus();
在这个已经实现的演示,但是,这个黑客不工作边。任何建议如何把这个插入视线?
我添加字符的HTML输入字段使用JavaScript光标问题,当手动添加字符输入元素
document.querySelector('input');
input.value += getChar();
虽然这个工作,还有比添加更多的字符时,一个问题适合输入的视口。其结果是,插入符号是不可见的再
我发现一个黑客来解决这个问题是:
input.blur();
input.focus();
在这个已经实现的演示,但是,这个黑客不工作边。任何建议如何把这个插入视线?
这是一款适用于Firefox,Chrome,Opera和Edge(未在Safari上测试)的软件。
某些部分是没用的一些浏览器,当然,和试验应属性的存在对旧的浏览器支持进行,但这个工程:
对于Firefox的blur()
是没用的,但在Chrome必要的。
对于Edge,select()
它向右移动,下一行取消选择文本。
function caretIntoView() {
input.setSelectionRange(input.value.length, input.value.length);
input.blur();
input.focus();
input.select();
input.selectionStart = input.selectionEnd = input.value.length;
}
修改后的小提琴:https://jsfiddle.net/xxk04mn6/7/
我可以证实,这确实适用于所有浏览器。 –
此修复程序没有做在Firefox的伎俩(我想我的版本是最新的一个,更新了一些天前),但显示效果还是比边缘更少怪异(插入符号与小“取消”十字叉重叠) – Kaddath
@Kaddath如果您有解决方案,您可以发布一个链接吗? Thnx –
如果我找到一些东西,我会让你知道当然;) – Kaddath