作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,我想要实现的目标是:
行
的textarea
字段,当您点击enter
时,它会为用户再扩展一行到目前为止我有这个代码:https://jsfiddle.net/kmo9x3qt/
document.querySelector('textarea').onkeydown = function(e) {
if(e.keyCode === 13) {
this.setAttribute('rows', parseInt(this.getAttribute('rows')) + 1);
}
};
非常简单的想法如何使其自动扩展。我正在努力解决的是如何检测(当用户点击退格键时)是否从最后一行删除了最后一个内容,以便我可以折叠行。
我在堆栈上看到一些主题使用一些内容测量代码,但我不想这样做,这种方法似乎更“稳定”。
最佳答案
尝试使用scrollHeight
document.querySelector('textarea').onkeydown = function(e) {
if(e.keyCode === 13 || e.keyCode === 8) {
this.style.height='0px'
this.style.height = this.scrollHeight+'px'
}
};
textarea {
width:300px;
resize:none;
border:none;
outline:none;
padding:10px;
background:#dfddde;
color:#373737;
margin:0;
overflow:hidden;
}
<textarea rows="1"></textarea>
关于javascript - 键入时展开/折叠文本区域并调整行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43938030/
我是一名优秀的程序员,十分优秀!