除IE6-8 / Opera之外的所有浏览器
设置
HTMLInputElement.setSelectionRange()后明确设置输入值的长度
focus()。缺点是一旦模糊,它就会滚动回开始。
var foo = document.getElementById("foo");foo.value = "http://stackoverflow.com/questions/1962168/scroll-to-the-very-right-of-a-long-text-input";foo.focus();foo.setSelectionRange(foo.value.length,foo.value.length);<input id="foo">IE / Opera以外的所有浏览器
如果您根本不关心IE,请设置
Element.scrollLeft为
Element.scrollWidth。缺点是浏览器支持较少。
var foo = document.getElementById("foo");foo.value = "http://stackoverflow.com/questions/1962168/scroll-to-the-very-right-of-a-long-text-input";foo.scrollLeft = foo.scrollWidth;<input id="foo">所有浏览器
如果您想支持每个浏览器,请考虑使用
dir设置为
rtl(从右到左)的(方向)属性来欺骗它。缺点是,当它是可编辑的和/或您开发方向敏感的网站时,确实需要考虑这是一种hack,但这在所有浏览器上均有效,并且在只读输入上非常有用。
var foo = document.getElementById("foo");foo.value = "http://stackoverflow.com/questions/1962168/scroll-to-the-very-right-of-a-long-text-input";<input id="foo" dir="rtl">


