textarea 是否換行的問題解決


需求:判斷當前textarea是否已經換行(這個換行有2種方式:1.不斷輸入文字直到超過指定寬度后自動換行;2.按了回車以后進行換行)

 

單純的解決第二種換行很簡單。網上提供了很多常規的解決方案。

Demo:http://www.cnblogs.com/xrwang/archive/2011/04/27/LineBreakInJavascript.html

但是這是不完備的。是不能根本解決問題的!

 

因為很顯然不能解決第一種問題.有人會說使用wrap="off"強制不能換行。那么麻煩你先了解下wrap:http://www.w3schools.com/tags/att_textarea_wrap.asp

當你不斷輸入確實不能換行了。但是橫向文字在不斷增加。這個應該不是用戶可以接受的方式吧。

 

下面說說我的解決方案。

做的時候設置line-height 比如說設置為30.

現在我們把操作的textarea 叫做a

在需要校驗的時候。動態創建一個textarea 叫做b 具備a的一切樣式 .最好的方式是將a clone下來。獲取到里面的value值。設置當前的height為line-height也就是 30.

現在簡單了 判斷b的scrollHeight 的值是否大於30 即可。大於30說明換行了。用scrollHeight我們同樣可以判斷當前的行數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM