在javascript中将输入框滚动到光标位置

时间:2010-03-28 19:59:00

标签: javascript firefox

我编写了一个简单的JS函数,当它接收焦点时,将光标放在输入框内容的末尾(框中最常见的动作是追加)。我没有在IE中检查过,但是当文本多于可见文本时,即使将光标移动到输入的末尾也不会将视图滚动到firefox 3.6中的输入结尾。

知道怎么做吗?

P.S。不,我没有使用JQuery,也不是一个选项;)

使用不同的措辞(插入符号代替光标)找到解决方案here

1 个答案:

答案 0 :(得分:1)

您可以通过分配到textarea的scrollTop属性进行滚动:

// scroll to bottom
elt.scrollTop = elt.scrollHeight;

Firefox和Safari也提供scrollByLines,IE有doScroll,但scrollTop属性是跨浏览器的,使用起来更简单。

就个人而言,当我将光标移动到textarea的末尾时,我不喜欢它。如果我最后想要它,我需要花一点时间来完成它。将光标从末端移动到中间的某个位置需要大约一秒钟(结束是一个更大的目标,因此需要less time to hit)。除非textarea有special purpose,否则我不会为追加焦点功能而烦恼。