如何查找 textarea 中的长文本是否包含在两行或多行中?
我不是在谈论这里讨论的新行字符。
我知道插件Textarea Line Count
有更简单的方法吗?
我对此进行了试验,并提出了一个涉及以下内容的hack:
在 textarea 中禁用文本换行(加上禁用填充)
检查 textareascrollWidth
是否大于它的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;
}