如何查找文本区域中的文本是否包装为多行?

如何查找textarea中的长文本是否包含在两行或更多行中?

我不是在讨论这里讨论的新线路字符。

我知道插件Textarea Line Count

任何更简单的方法?

我对此进行了实验并想出了一个涉及以下方面的黑客攻击:

  1. 禁用textarea中的文本换行(加上禁用填充)

  2. 检查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; }