javascript - js怎么獲取textarea自動換行行數?
問題描述
要在textarea中輸入內容,默認為一行,當輸入的內容過多時自動換行,并且高度增加?
問題解答
回答1:1, 用shadow
<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, 用 contenteditable 屬性
<p contenteditable='true'>這里的高度會隨內容自動擴展</p>
3, 如果用
textarea.style.height = textarea.scrollHeight + ’px’;
這種形式也可以調整高度, 但換行的時候會有滾動條一閃而逝, 而且高度只會增加沒法減少, 是體驗最差的寫法.
回答2:給textarea一個oninput事件
<textarea id='text'></textarea>document.getElementById(’text’).style.height = document.getElementById(’text’).scrollHeight + ’px’
類似這樣的
回答3:http://stackoverflow.com/ques...
回答4:textarea的總高度(用jQ的element.height(),如果是原生js,請查看手冊的BIF)/ 你定義的行高
相關文章:
1. javascript - 使用form進行頁面跳轉,但是很慢,如何加一個Loading?2. javascript - ES6規范下 repeat 函數報錯 Invalid count value3. python 計算兩個時間相差的分鐘數,超過一天時計算不對4. angular.js - angularjs 注入模塊報錯 很怪異... 求解惑5. javascript - JS 里面的 delete object.key 到底刪除了什么?6. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?7. mysql - 電商如何存儲營業額數據8. java如何生成token?9. html5 - 為什么使使用vue cli 腳手架,post-css 沒有自動對css3屬性自動添加瀏覽器前綴呢?10. javascript - html5的data屬性怎么指定一個function函數呢?
