javascript - 在 autoresizing textarea 中输入会一直聚焦在元素的顶部

标签 javascript jquery textarea autoresize cursor-position

我有一个扩展的文本区域。当文本区域已经扩展到足以到达窗口底部时,主体会闪烁/滚动回文本区域的顶部,除非滚动窗口,否则您将看不到最后输入的字符。

样本可以在这个 jsfiddle 中找到.我尝试在正文中添加一个 scrollTo

window.scrollTo(0, document.getElementsByTagName('textarea')[0].getBoundingClientRect().bottom);

如何计算textarea中光标相对于窗口的偏移量?我正在考虑获取光标的顶部偏移量,如果光标已经超出折叠范围,则将窗口滚动到它的位置。

对此的帮助将不胜感激:)

最佳答案

你的代码很棒——我只是添加了几毫秒的超时(大约 100-200 就足够了),现在它表现得很好。只是想知道 on('focus') 事件处理程序的用途。并且猜测您可以跳过在 resize() 函数中调用 focus()...

关于javascript - 在 autoresizing textarea 中输入会一直聚焦在元素的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20139136/

相关文章:

javascript - 通过 jQuery 使用表单输入值创建 HTML 元素

java - 使用 Itext 7.1.7 时,文本区域中的连续文本会剪切溢出文本的 PDF

ruby-on-rails - 在使用 submit_to_remote 提交的 Rails Controller 中保留文本区域的换行符

javascript - 使用 Javascript/Jquery 搜索 google.com

javascript - 如何从数据库中移动这些数据以提高性能

javascript - 随机失败的测试 jest 和 supertest Node.js

javascript - 使用 JavaScript 查找字符串中的某些数据

html - Textarea 不通过表单发送值

javascript - 如何获取页面上所有选中复选框的计数

javascript - Rxjs 使用 Observable.from() 字符串并防止 Observable 被多次创建