我编写了一个简单的 JS 函数,它在输入框获得焦点时将光标置于输入框内容的末尾(框中最常见的操作是追加)。我没有在 IE 中检查过,但是当文本多于可见的文本时,即使将光标移动到输入的末尾也不会将 View 滚动到 firefox 3.6 中的输入的末尾。
知道怎么做吗?
附言不,我没有使用 JQuery,也不是一个选项 ;)
找到解决方案 here使用不同的措辞(插入符号而不是光标)
最佳答案
您可以通过分配给 textarea 的 scrollTop 属性来滚动:
// scroll to bottom
elt.scrollTop = elt.scrollHeight;
Firefox 和 Safari 也提供 scrollByLines
, 而 IE 有 doScroll
,但 scrollTop 属性是跨浏览器的,使用起来更简单。
就我个人而言,我不喜欢将光标移动到文本区域的末尾。如果我最后想要它,我自己只需要几分之一秒的时间。将光标从末尾移动到中间某处需要大约一秒钟的时间(末尾是一个更大的目标,因此需要 less time to hit )。除非文本区域有 special purpose ,我不会为附加焦点功能而烦恼。
关于javascript - 将输入框滚动到javascript中的光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534309/