Rumah > Soal Jawab > teks badan
Untuk memasukkan kandungan dalam kawasan teks, lalai ialah satu baris Apabila terlalu banyak kandungan dimasukkan, baris itu akan secara automatik membalut dan ketinggian akan meningkat?
给我你的怀抱2017-05-16 13:46:17
1, gunakan bayang
<p style="height:0; overflow:hidden;">
<p class="shadow"></p>
</p>
<textarea style="overflow:hidden;"></textarea>
<script>
textarea.addEventListener('input', function(e) {
shadow.innerHTML = this.value.replace(/\</g, '<').replace(/\>/g, '>');
this.height = shadow.clientHeight + 'px';
});
</script>
2, gunakan atribut boleh diedit kandungan
<p contenteditable="true">这里的高度会随内容自动扩展</p>
3, jika menggunakan
textarea.style.height = textarea.scrollHeight + 'px';
Ketinggian juga boleh dilaraskan dalam bentuk ini, tetapi bar skrol akan berkelip apabila menukar baris, dan ketinggian hanya akan meningkat tetapi tidak berkurangan, yang merupakan pengalaman menulis yang paling teruk
phpcn_u15822017-05-16 13:46:17
Berikan textarea acara oninput
<textarea id="text"></textarea>
document.getElementById('text').style.height = document.getElementById('text').scrollHeight + 'px'
Serupa dengan ini
黄舟2017-05-16 13:46:17
Jumlah ketinggian kawasan teks (gunakan elemen jQ.height(), jika ia adalah js asli, sila semak BIF manual) / ketinggian garisan yang anda tetapkan