cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk mendapatkan bilangan baris yang dibalut secara automatik dalam textarea dalam js?

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?

phpcn_u1582phpcn_u15822777 hari yang lalu1178

membalas semua(4)saya akan balas

  • 给我你的怀抱

    给我你的怀抱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

    balas
    0
  • phpcn_u1582

    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

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 13:46:17

    http://stackoverflow.com/ques...

    balas
    0
  • 黄舟

    黄舟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

    balas
    0
  • Batalbalas