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