textarea 是否換行的問題解決

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

 

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

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

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

 

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

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

 

下面說說個人解決方案。scroll

作的時候設置line-height 好比說設置爲30.textarea

如今咱們把操做的textarea 叫作a樣式

在須要校驗的時候。動態建立一個textarea 叫作b 具有a的一切樣式 .最好的方式是將a clone下來。獲取到裏面的value值。設置當前的height爲line-height也就是 30.解決方案

如今簡單了 判斷b的scrollHeight 的值是否大於30 便可。大於30說明換行了。用scrollHeight咱們一樣能夠判斷當前的行數

相關文章
相關標籤/搜索