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. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. Java:密碼包(加密和解密)。無效的密鑰錯誤3. css - 微信小程序點擊展開,再次點擊收回4. 點擊頁面就自動輸入到mysql.求解5. macos - mac下docker如何設置代理6. css - vue.js的vue單文件組件style中的scoped屬性無效7. angular.js - 在ng-option 里使用過濾器無效8. node.js - 求問nw.js開發桌面版,其js計算性能如何?9. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?10. thinkphp5.1學習時遇到session問題
