我想以编程方式在输入中添加单词,并始终看到文本的结尾。但是问题在于,当我添加单词(如input.value += 'word'
)时,如果文本的长度几乎与输入的长度相同,则输入内的文本不会移动,因此我只能看到文本的开头和结尾被隐藏了。
我认为,如果我可以将光标放在输入的末尾会有所帮助,但是光标无法在Chrome中正常工作的技巧,例如
input.value = input.value
或者
input.setSelectionRange(input.value.length, input.value.length);
如果输入没有焦点,那么Chrome会一直向左滚动显示它“滚动”,并显示输入值的开头。
如果元素具有焦点,则可以设置选择范围以移动光标:
window.onload = function(){
var input = document.getElementById('foobar');
input.value += ' bazbat';
input.focus();
input.setSelectionRange( input.value.length - 1 );
}
<input id="foobar" value="foobar" size="6">
但是,如果在用户尝试键入值时光标在四处移动,这将是一个非常令人困惑和令人沮丧的UX。
要考虑的其他选项:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句