textarea高度自適應(可設置最大高度)
阿新 • • 發佈:2017-06-30
換行 hid fun utf-8 cti html logs type att
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>textarea設置高度自適應且可設置最大高度</title> <style> textarea { width: 100%; height: 38px; /*最初高度設置為38px;在輸入時,會自動換行,高度自適應,直到最大高度*/ } </style> <script src="./jquery-3.2.1.min.js"></script> </head> <body> <div style="width:300px;height:200px"> <textarea></textarea> </div> </body> <script> var setTextareaMH = function (max_height) { $(‘textarea‘).each(function () { this.setAttribute(‘style‘, ‘height:‘ + (this.scrollHeight) + ‘px;overflow-y:hidden;‘); if (max_height != 0) { this.setAttribute(‘style‘, ‘max-height:‘ + max_height+ ‘px‘); } }).on(‘input‘, function () { this.style.height = ‘auto‘; this.style.height = (this.scrollHeight) + ‘px‘; }); } $(document).ready(function () { // var textMaxH = ‘0‘ var textMaxH = ‘150‘ //設置最大高度為150 setTextareaMH(textMaxH) //當textMaxH設置為0時,則不對textarea設置最大高度 }); </script> </html>
PS:設置高度或者最大高度,會存在幾px的誤差,這是textarea的邊框或啥(其實我也不知道啥。。ooo)導致的。
G~G~ Study。
textarea高度自適應(可設置最大高度)