textarea输入框根据输入字符数量自动拉大高并换行(ChatGPT输入框效果)
  X2qZIOPXURdq 2023年11月02日 48 0



textarea输入框根据输入字符数量自动拉大高并换行(ChatGPT输入框效果)

  • 效果图
  • 原理
  • 源码
  • HTML
  • CSS
  • JS


效果图

textarea输入框根据输入字符数量自动拉大高并换行(ChatGPT输入框效果)_html5

textarea输入框根据输入字符数量自动拉大高并换行(ChatGPT输入框效果)_es6_02

原理

通过js的输入事件实时的监视文本框,让文本框的高始终等于文本框滚动的高度(由于文本框高固定之后输入过多的字符后会出现滚动条)

源码

注:这里是用的原生js,如果是vue框架的话,请自行转换一下

HTML

<textarea id="inputTextarea" rows="1" ></textarea>

CSS

textarea {
  	width: 120px;
    resize: none; /* 禁止用户调整文本框的大小 */
    overflow-y: hidden; /* 隐藏竖直滚动条 */
}

JS

var textarea = document.getElementById("inputTextarea");
textarea.oninput=function(e){
    textarea.style.height ='auto';
    textarea.style.height = textarea.scrollHeight + 'px';
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  f18CFixvrKz8   2024年05月20日   88   0   0 JavaScript
  fxrR9b8fJ5Wh   2024年05月17日   52   0   0 JavaScript
  2xk0JyO908yA   2024年04月28日   40   0   0 JavaScript
X2qZIOPXURdq