Saya cuba membuat kawasan teks yang mudah dikembangkan secara automatik. Ini kod saya:
textarea.onkeyup = function () { textarea.style.height = textarea.clientHeight + 'px'; }
Tetapi kawasan teks berkembang tanpa had semasa anda menaip...
Saya tahu terdapat pemalam Dojo dan jQuery untuk ini, tetapi saya tidak mahu menggunakannya. Saya melihat pelaksanaannya dan pada asalnya menggunakan scrollHeight
tetapi melakukan perkara yang sama.
Anda boleh mula menjawab dan menggunakan kawasan teks untuk memainkan jawapan anda.
Saya mahu kawasan yang berkembang secara automatik dihadkan oleh bilangan baris (cth. 5 baris). Saya mempertimbangkan untuk menggunakan unit "em", untuk penyelesaian Rob, bagaimanapun, ini rawan ralat dan tidak mengambil kira perkara seperti pelapik.
Ini yang saya fikirkan:
Fiddle: http://jsfiddle.net/cgSj3/
Sedang digunakan
scrollHeight
正确扩展/收缩文本区域之前重置高度。Math.min()
boleh digunakan untuk menetapkan had ketinggian kawasan teks.Kod:
Fiddle: http://jsfiddle.net/gjqWy/155
Nota: acara
input
tidak disokonginput
事件IE8 及更早版本不支持 。如果您也想支持这个古老的浏览器,请使用keydown
或keyup
以及onpaste
和/或oncut
dalam IE8 dan lebih awal. Jika anda juga ingin menyokong penyemak imbas purba ini, sila gunakankeydown
ataukeyup
danonpaste
dan/atauoncut
.