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

标签 javascript firefox

我编写了一个简单的 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/

相关文章:

javascript - JSON 数据的下载进度

javascript - 过滤掉 $.each 中现有的 json 属性

Javascript函数增量摊销问题

javascript - 从 API : array is interpreted as a string 获取 json

javascript - Vue-Test-Utils 的 "mount"和 "shallowMount"之间的区别?

javascript - 无法在 Firefox 中使用 Twitter 时间线?

javascript - anythingslider navigationsize 不适用于首次加载 firefox 26

css - 如何修复 Chrome 和 Firefox 中的主要边距问题编程?

html - Firefox 在记住表单输入时没有选择用户名/电子邮件字段

javascript - SVG 动画在 Firefox 上不起作用