我有一个图像选择器,允许从图库中选择图像,然后将 URL 填充到<input type="text">
场地。 URL 可能会非常长,而且总是在文本字段中看到 URL 的前半部分,其信息价值非常小。
有人知道如何“滚动”到文本字段的最右侧,以便看到 URL 的末尾而不是开头吗?无需求助于文本区域。
除 IE6-8/Opera 之外的所有浏览器
Set 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 to 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
(右到左)。缺点是,当它是可编辑的和/或您开发方向敏感的网站时,确实需要考虑它的黑客行为,但这适用于所有浏览器,并且对于只读输入非常有用。
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">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)