javascript - 动态调整前元素标签的大小
问题描述
我试图让我的<div>
动态,以便它的垂直高度自动增加。目前我正在使用<textarea>
它来定义其中的内容。但我想将其替换<pre>
为使其更有效。欢迎提出任何建议或解决方案。
Code
document.addEventListener('DOMContentLoaded', () => {
textArea.addEventListener('change', autosize, false)
textArea.addEventListener('keydown', autosize, false)
textArea.addEventListener('keyup', autosize, false)
autosize()
}, false)
function autosize() {
textCopy.innerHTML = textArea.value.replace(/\n/g, '<br/>')
}
html,
body,
textarea {
font-family: sans-serif;
font-size: 14px;
}
.textarea-container {
position: relative;
}
.textarea-container>div,
.textarea-container>textarea {
word-wrap: break-word;
box-sizing: border-box;
padding: 2px;
width: 100%;
}
.textarea-container>textarea {
overflow: hidden;
position: absolute;
height: 100%;
}
.textarea-container>div {
padding-bottom: 1.5em;
visibility: hidden;
}
<div class="textarea-container">
<textarea id="textArea"></textarea>
<div id="textCopy"></div>
</div>
解决方案
我只是将高度更改为滚动大小
textArea.style.height = "23px";
document.addEventListener('DOMContentLoaded', () => {
textArea.addEventListener('change', autosize, false)
textArea.addEventListener('keydown', autosize, false)
textArea.addEventListener('keyup', autosize, false)
}, false)
function autosize() {
textArea.style.height = parseInt(textArea.scrollHeight) + 'px';
}
html,
body,
textarea {
font-family: sans-serif;
font-size: 14px;
}
.textarea-container {
position: relative;
}
.textarea-container>div,
.textarea-container>textarea {
word-wrap: break-word;
box-sizing: border-box;
padding: 2px;
width: 100%;
}
.textarea-container>textarea {
overflow: hidden;
position: absolute;
height: 23px;
}
.textarea-container>div {
padding-bottom: 1.5em;
visibility: hidden;
}
<div class="textarea-container">
<textarea id="textArea"></textarea>
</div>
推荐阅读
- c - CSFML 意外重复纹理行为
- video - 有没有办法更改视频嵌入代码,以便将默认播放速度设置为 1.25x?
- python - 试图将 csv 的第 1-10 行移动到 JSON 文件。我似乎只得到第 10 行
- ios - 我需要为 armv7s 编译什么 Xcode 版本?
- mysql - MariaDB 复制从属服务器到主服务器连接的权限被拒绝
- java - Maven 找不到本地安装的包
- mongodb - Mongodb - 如何只获取文档的一部分
- javascript - 在以 express 呈现视图后更新视图中的消息(一旦执行异步代码)
- angular - 获取通用 Angular 服务中的类型名称
- mysql - 需要你使用 SQL 子查询