如何查找文本区域中的文本是否包装为多行?
如何查找textarea中的长文本是否包含在两行或更多行中?
我不是在讨论这里讨论的新线路字符。
我知道插件Textarea Line Count
任何更简单的方法?
我对此进行了实验并想出了一个涉及以下方面的黑客攻击:
-
禁用textarea中的文本换行(加上禁用填充)
-
检查textarea的
scrollWidth
是否大于它的width
。
我使用的基本逻辑是,如果文本跨越多行,这意味着当关闭包装时,我们应该得到一个水平滚动条。
演示 : http : //jsfiddle.net/fnG3d/
免责声明:以下代码是10分钟小提琴的结果,绝对不是生产质量
function checkMulti(id) { var ta = $('#'+id), multi = false; // disable wrapping, padding and enable horiz scoll ta.addClass('nowrap'); // check if there is anything to be scrolled horizontally (means multi-lines otherwise) multi = ( ta[0].scrollWidth > ta.width() ); // checking done. remove the class. ta.removeClass('nowrap'); alert('Spread over multiple-lines: ' + multi); } /* the nowrap class */ .nowrap { overflow-x: scroll; white-space: nowrap; padding: 0; }